2014-04-01 07:10:21 +00:00
|
|
|
module PagesHelper
|
|
|
|
|
|
|
|
def parse_pp_tags(file)
|
|
|
|
opened_file = File.open(file)
|
2014-04-01 08:37:43 +00:00
|
|
|
doc = Nokogiri::HTML(opened_file, nil, "UTF-8")
|
2014-04-01 07:10:21 +00:00
|
|
|
opened_file.close
|
|
|
|
pps = doc.css("*[data-pp]")
|
|
|
|
pps.each do |pp|
|
|
|
|
pp.content = "<p class='add-ps'></p>"
|
|
|
|
end
|
|
|
|
doc.to_html
|
|
|
|
end
|
|
|
|
|
|
|
|
def render_widget_for_frontend(controller_name, widget_method, widget_file)
|
2014-04-15 04:49:38 +00:00
|
|
|
controller_name = controller_name.downcase.singularize
|
2014-05-20 02:31:44 +00:00
|
|
|
f = File.join('../templates', current_site.template, 'modules', "#{controller_name}", "_#{widget_file}.html.erb");
|
2014-04-15 04:49:38 +00:00
|
|
|
s = render_to_string(f)
|
|
|
|
doc = Nokogiri::HTML(s, nil, "UTF-8")
|
2014-04-01 07:10:21 +00:00
|
|
|
wrap_elements = doc.css("*[data-repeat]")
|
2014-04-15 04:49:38 +00:00
|
|
|
controller = "#{controller_name.capitalize.pluralize}_controller".classify.constantize.new
|
|
|
|
OrbitHelper.set_current_widget_module controller_name
|
2014-04-01 07:10:21 +00:00
|
|
|
data = controller.send("#{widget_method}")
|
2014-04-02 06:07:04 +00:00
|
|
|
keys = data.keys
|
2014-04-01 07:10:21 +00:00
|
|
|
wrap_elements.each do |wrap_element|
|
|
|
|
html_to_render = ""
|
2014-04-02 06:07:04 +00:00
|
|
|
(data[keys[0]].kind_of?(Array) ? data[keys[0]] : data[keys[1]]).each do |item|
|
2014-04-01 07:10:21 +00:00
|
|
|
el = wrap_element.inner_html
|
|
|
|
item.each do |key,value|
|
2014-04-14 03:27:09 +00:00
|
|
|
value = value.nil? ? "" : value
|
2014-04-15 04:49:38 +00:00
|
|
|
el = el.gsub("{{#{key}}}",value.to_s)
|
|
|
|
el = el.gsub("%7B%7B#{key}%7D%7D",value.to_s)
|
2014-04-01 07:10:21 +00:00
|
|
|
end
|
|
|
|
html_to_render = html_to_render + el
|
|
|
|
end
|
|
|
|
wrap_element.inner_html = html_to_render
|
|
|
|
end
|
2014-04-02 06:07:04 +00:00
|
|
|
html = doc.to_html
|
|
|
|
if keys[1]
|
|
|
|
(data[keys[1]].kind_of?(Array) ? data[keys[0]] : data[keys[1]]).each do |key,value|
|
|
|
|
html = html.gsub("{{#{key}}}",value)
|
|
|
|
html = html.gsub("%7B%7B#{key}%7D%7D",value)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
html.html_safe
|
2014-04-01 07:10:21 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|
2014-04-02 06:07:04 +00:00
|
|
|
|