Module: Ecm::CmsHelper

Defined in:
app/helpers/ecm/cms_helper.rb

Instance Method Summary collapse

Instance Method Details

#build_navigation_item(navigation, item, container_css_class) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'app/helpers/ecm/cms_helper.rb', line 30

def build_navigation_item(navigation, item, container_css_class)
  options = {}
  options[:highlights_on] = /#{item.highlights_on}/ if item.highlights_on.present?
  options = item.li_attributes.marshal_dump.delete_if { |_key, value| value.blank? }

  navigation.dom_class = container_css_class
  if item.children.present?
    navigation.item item.key, item.name, item.url, options do |sub_navigation|
      item.children.each do |sub_item|
        build_navigation_item(sub_navigation, sub_item, container_css_class)
      end
    end
  else
    navigation.item item.key, item.name, item.url, options
  end
end

#cms_page?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'app/helpers/ecm/cms_helper.rb', line 51

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
# File 'app/helpers/ecm/cms_helper.rb', line 2

def cms_render_navigation(name, options = {})
  options.reverse_merge! renderer: :bootstrap, expand_all: true, level: 1

  level               = options.delete(:level)
  expand_all          = options.delete(:expand_all)
  container_css_class = options.delete(:container_css_class)
  renderer            = options.delete(:renderer)

  level_as_array = (level).is_a?(Range) ? level.to_a : [level]

  navigation = Ecm::Cms::Navigation.where(name: name.to_s, locale: I18n.locale.to_s).first
  unless navigation
    return I18n.t('ecm.cms.navigation.messages.not_found', lang: I18n.locale.to_s, name: name.to_s)
  end

  roots = navigation.ecm_cms_navigation_items.roots.all
  if roots.empty?
    return I18n.t('ecm.cms.navigation.messages.empty', lang: I18n.locale.to_s, name: name)
  end

  render_navigation(level: level, expand_all: expand_all, renderer: renderer) do |navigation|
    navigation.dom_class = container_css_class
    roots.each do |navigation_item|
      build_navigation_item(navigation, navigation_item, container_css_class)
    end
  end
end


47
48
49
# File 'app/helpers/ecm/cms_helper.rb', line 47

def link_to_top
  render partial: '/ecm/cms/link_to_top'
end