Module: EffectiveMenusHelper
- Defined in:
- app/helpers/effective_menus_helper.rb
Instance Method Summary collapse
- #breadcrumbs_fallback(page = @page, root: 'Home') ⇒ Object
- #breadcrumbs_root_url(page = @page, root: 'Home') ⇒ Object
- #render_breadcrumbs(menu, page = @page, root: 'Home') ⇒ Object (also: #render_breadcrumb)
- #render_menu(name, options = {}, &block) ⇒ Object
Instance Method Details
#breadcrumbs_fallback(page = @page, root: 'Home') ⇒ Object
41 42 43 44 45 46 47 48 49 50 |
# File 'app/helpers/effective_menus_helper.rb', line 41 def (page = @page, root: 'Home') label = (page if page.kind_of?(Effective::Page)) || @page_title || 'Here' content_tag(:ol, class: 'breadcrumb') do [ content_tag(:li, link_to(root, root_path, title: root), class: 'breadcrumb-item'), content_tag(:li, label, class: 'breadcrumb-item active', 'aria-current': 'page') ].join.html_safe end end |
#breadcrumbs_root_url(page = @page, root: 'Home') ⇒ Object
35 36 37 38 39 |
# File 'app/helpers/effective_menus_helper.rb', line 35 def (page = @page, root: 'Home') content_tag(:ol, class: 'breadcrumb') do content_tag(:li, root, class: 'breadcrumb-item active', 'aria-current': 'page') end end |
#render_breadcrumbs(menu, page = @page, root: 'Home') ⇒ Object Also known as:
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/helpers/effective_menus_helper.rb', line 15 def (, page = @page, root: 'Home') return (page, root: root) if request.path == '/' return (page, root: root) unless page.kind_of?(Effective::Page) parents = [page.].compact content_tag(:ol, class: 'breadcrumb') do ( [content_tag(:li, link_to(root, root_path, title: root), class: 'breadcrumb-item')] + parents.map do |page| url = (page..presence || effective_pages.page_path(page)) content_tag(:li, link_to(page, url, title: page.title), class: 'breadcrumb-item') end + [content_tag(:li, page, class: 'breadcrumb-item active', 'aria-current': 'page')] ).join.html_safe end end |
#render_menu(name, options = {}, &block) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'app/helpers/effective_menus_helper.rb', line 4 def (name, = {}, &block) name = name.to_s = Array(EffectivePages.).find { || .to_s == name } if .blank? raise("unable to find menu #{name}. Please add it to config/initializers/effective_pages.rb") end content_tag(:ul, ) { render('effective/pages/menu', menu: ) } end |