Module: Ecm::CmsHelper
- Defined in:
- app/helpers/ecm/cms_helper.rb
Instance Method Summary collapse
- #build_navigation_item(navigation, item, container_css_class) ⇒ Object
- #cms_page? ⇒ Boolean
- #cms_render_navigation(name, options = {}) ⇒ Object
- #current_cms_page ⇒ Object
- #current_cms_page?(page) ⇒ Boolean
- #link_to_top ⇒ Object
Instance Method Details
#build_navigation_item(navigation, item, container_css_class) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/helpers/ecm/cms_helper.rb', line 33 def (, item, container_css_class) = {} [:highlights_on] = /#{item.highlights_on}/ if item.highlights_on.present? = item.li_attributes.marshal_dump.delete_if { |_key, value| value.blank? } .dom_class = container_css_class if item.children.present? .item item.key, item.name, item.url, do || item.children.each do |sub_item| (, sub_item, container_css_class) end end else .item item.key, item.name, item.url, end end |
#cms_page? ⇒ Boolean
54 55 56 |
# File 'app/helpers/ecm/cms_helper.rb', line 54 def cms_page? params[:action] == 'respond' && params.has_key?(:page) end |
#cms_render_navigation(name, options = {}) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/helpers/ecm/cms_helper.rb', line 2 def (name, = {}) .reverse_merge! renderer: :bootstrap, expand_all: true, level: 1 level = .delete(:level) = .delete(:expand_all) container_css_class = .delete(:container_css_class) renderer = .delete(:renderer) level_as_array = (level).is_a?(Range) ? level.to_a : [level] = Ecm::Cms::.where(name: name.to_s, locale: I18n.locale.to_s).first if .nil? && (locale = Ecm::Cms::Configuration..call(name, I18n.locale)) = Ecm::Cms::.where(name: name.to_s, locale: locale).first end unless return I18n.t('ecm.cms.navigation.messages.not_found', lang: I18n.locale.to_s, name: name.to_s) end roots = ..roots.all if roots.empty? return I18n.t('ecm.cms.navigation.messages.empty', lang: I18n.locale.to_s, name: name) end (level: level, expand_all: , renderer: renderer) do || .dom_class = container_css_class roots.each do || (, , container_css_class) end end end |
#current_cms_page ⇒ Object
62 63 64 |
# File 'app/helpers/ecm/cms_helper.rb', line 62 def current_cms_page cms_page? ? params[:page].to_s : nil end |
#current_cms_page?(page) ⇒ Boolean
58 59 60 |
# File 'app/helpers/ecm/cms_helper.rb', line 58 def current_cms_page?(page) cms_page? && params[:page].to_s == page.to_s end |
#link_to_top ⇒ Object
50 51 52 |
# File 'app/helpers/ecm/cms_helper.rb', line 50 def link_to_top render partial: '/ecm/cms/link_to_top' end |