From 1951c581a219ed6a119b363fdbc2abd352937b37 Mon Sep 17 00:00:00 2001 From: Harry Bomrah Date: Fri, 3 Jul 2015 19:52:05 +0800 Subject: [PATCH] added meta tag mechanism for facebook --- app/controllers/pages_controller.rb | 5 +++++ app/helpers/orbit_helper.rb | 30 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 434b841..b2c5c98 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -34,6 +34,8 @@ class PagesController < ApplicationController params[:is_frontend_view] = "true" OrbitHelper.set_params params,current_user OrbitHelper.set_site_locale locale + OrbitHelper.set_request_object request + OrbitHelper.render_meta_tags [] render :html => render_final_page("home",page,true).html_safe end @@ -102,6 +104,7 @@ class PagesController < ApplicationController end @manifest = @key OrbitHelper.set_params params,current_user + OrbitHelper.set_request_object request OrbitHelper.set_site_locale locale OrbitHelper.set_this_module_app module_app.singularize OrbitHelper.set_page_categories categories || ["all"] @@ -396,6 +399,7 @@ class PagesController < ApplicationController OrbitHelper.set_widget_data_count subpart.data_count OrbitHelper.set_widget_module_app subpart.module OrbitHelper.set_widget_item_url subpart + OrbitHelper.render_meta_tags [] OrbitHelper.set_widget_title subpart.title OrbitHelper.set_widget_categories subpart.categories || ["all"] OrbitHelper.set_widget_tags subpart.tags || [] @@ -464,6 +468,7 @@ class PagesController < ApplicationController if original_view != "home" viewarea = doc.css("*[data-content='true']")[0] viewarea.inner_html = render_to_string(original_view) rescue "
" + head[0].inner_html = OrbitHelper.meta_tags_html + head.inner_html end link = doc.css("link")[0] link.attributes["href"].value = current_site.favicon.url.nil? ? "/assets/favicon.ico" : current_site.favicon.url diff --git a/app/helpers/orbit_helper.rb b/app/helpers/orbit_helper.rb index ffc1def..0b89bbf 100644 --- a/app/helpers/orbit_helper.rb +++ b/app/helpers/orbit_helper.rb @@ -267,6 +267,14 @@ module OrbitHelper "#{request.host_with_port}/#{locale}#{url}" end + def self.set_request_object(request) + @site_request_object = request + end + + def self.request + @site_request_object + end + def self.set_site_locale(locale) @site_locale = locale end @@ -351,6 +359,28 @@ module OrbitHelper return css_html end + def self.render_meta_tags(metas=[]) + @page_meta_tags = metas + end + + def self.meta_tags_html + html = "" + if !@page_meta_tags.nil? + @page_meta_tags.each do |meta| + html = html + "" + end + end + html + end + + def self.strip_html_tags(string) + ActionView::Base.full_sanitizer.sanitize(string) + end + # =============================================================== # Breadcrumbs # ===============================================================