Showing
2 changed files
with
30 additions
and
23 deletions
| ... | ... | @@ -39,12 +39,13 @@ module Kanjai |
| 39 | 39 | use_cache = false |
| 40 | 40 | |
| 41 | 41 | if current_admin_user || @page_data.page.private_flag == true || use_cache == false |
| 42 | - layer = if @page_data.page.domain.template.present? | |
| 43 | - @page_data.page.domain.template.get_html_content | |
| 44 | - else | |
| 45 | - @page_data.page.page_template.get_html_content | |
| 42 | + layer = @page_data.page.page_template.get_html_content | |
| 43 | + content_for_render = setTemplateContent(@page_data.page.domain, @page_data.page.page_template, layer, @page_data, nil) | |
| 44 | + if @page_data.page.domain.template.present? | |
| 45 | + doc = Nokogiri::HTML(content_for_render) | |
| 46 | + layer = @page_data.page.domain.template.get_html_content | |
| 47 | + content_for_render = setTemplateContent(@page_data.page.domain, @page_data.page.page_template, layer, @page_data, doc.at('body').inner_html) | |
| 46 | 48 | end |
| 47 | - content_for_render = setTemplateContent(@page_data.page.domain, @page_data.page.page_template, layer, @page_data) | |
| 48 | 49 | |
| 49 | 50 | respond_to do |format| |
| 50 | 51 | format.html{render :plain => content_for_render, status: render_status} |
| ... | ... | @@ -53,12 +54,14 @@ module Kanjai |
| 53 | 54 | #render :text => content_for_render and return |
| 54 | 55 | else |
| 55 | 56 | if stale?(last_modified: @page_data.last_modified, etag: @page_data.cache_key_with_version) |
| 56 | - layer = if @page_data.page.domain.template.present? | |
| 57 | - @page_data.page.domain.template.get_html_content | |
| 58 | - else | |
| 59 | - @page_data.page.page_template.get_html_content | |
| 57 | + layer = @page_data.page.page_template.get_html_content | |
| 58 | + content_for_render = setTemplateContent(@page_data.page.domain, @page_data.page.page_template, layer, @page_data, nil) | |
| 59 | + if @page_data.page.domain.template.present? | |
| 60 | + doc = Nokogiri::HTML(content_for_render) | |
| 61 | + layer = @page_data.page.domain.template.get_html_content | |
| 62 | + content_for_render = setTemplateContent(@page_data.page.domain, @page_data.page.page_template, layer, @page_data, doc.at('body').inner_html) | |
| 60 | 63 | end |
| 61 | - content_for_render = setTemplateContent(@page_data.page.domain, @page_data.page.page_template, layer, @page_data) | |
| 64 | + | |
| 62 | 65 | respond_to do |format| |
| 63 | 66 | format.html{render :plain => content_for_render, status: render_status} |
| 64 | 67 | end |
| ... | ... | @@ -92,7 +95,7 @@ module Kanjai |
| 92 | 95 | end |
| 93 | 96 | |
| 94 | 97 | |
| 95 | - def setTemplateContent(domain, page_template, layer, page_data) | |
| 98 | + def setTemplateContent(domain, page_template, layer, page_data, page_content_for_insert) | |
| 96 | 99 | |
| 97 | 100 | session[:scheme] = 'http://' |
| 98 | 101 | |
| ... | ... | @@ -158,17 +161,21 @@ module Kanjai |
| 158 | 161 | markers.each do |marker| |
| 159 | 162 | case marker |
| 160 | 163 | when '###CONTENT###' |
| 161 | - page_content = get_html_by_json_client(page_data, session) | |
| 162 | - layer.gsub!(marker, page_content) | |
| 163 | - layer.gsub!('make-checked="false"', '') | |
| 164 | - layer.gsub!("make-checked='false'", '') | |
| 165 | - layer.gsub!('make-checked=""', '') | |
| 166 | - layer.gsub!("make-checked=''", '') | |
| 167 | - | |
| 168 | - layer.gsub!('make-checked="checked"', 'checked') | |
| 169 | - layer.gsub!("make-checked='checked'", 'checked') | |
| 170 | - layer.gsub!('make-checked="true"', 'checked') | |
| 171 | - layer.gsub!("make-checked='true'", 'checked') | |
| 164 | + if page_content_for_insert.nil? | |
| 165 | + page_content = get_html_by_json_client(page_data, session) | |
| 166 | + layer.gsub!(marker, page_content) | |
| 167 | + layer.gsub!('make-checked="false"', '') | |
| 168 | + layer.gsub!("make-checked='false'", '') | |
| 169 | + layer.gsub!('make-checked=""', '') | |
| 170 | + layer.gsub!("make-checked=''", '') | |
| 171 | + | |
| 172 | + layer.gsub!('make-checked="checked"', 'checked') | |
| 173 | + layer.gsub!("make-checked='checked'", 'checked') | |
| 174 | + layer.gsub!('make-checked="true"', 'checked') | |
| 175 | + layer.gsub!("make-checked='true'", 'checked') | |
| 176 | + else | |
| 177 | + layer.gsub!(marker, page_content_for_insert) | |
| 178 | + end | |
| 172 | 179 | when '###META_TITLE###' |
| 173 | 180 | layer.gsub!(marker, page_data.meta_title.to_s) |
| 174 | 181 | when '###META_DESCRIPTION###' | ... | ... |