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/effective_breadcrumbs_helper.rb', line 2
def render_breadcrumbs(, page)
= Effective::Menu.find_by_title(.to_s) if .kind_of?(String) || .kind_of?(Symbol)
return "Menu '#{}' does not exist".html_safe unless .present?
return breadcrumbs_fallback(page) if !page.present?
= if page.kind_of?(Effective::Page)
url = effective_pages.page_path(page)
..find { |item| item. == page || item.title == page.title || item.url == url }
elsif page.kind_of?(String)
downcased = page.downcase
..find { |item| item.title.downcase == downcased || item.url == downcased }
else
..find { |item| item. == page || item.title == page || item.url == page }
end
return breadcrumbs_fallback(page) unless .present?
parents = ..select { |item| item.lft < .lft && item.rgt > .rgt }
content_tag(:ol, class: 'breadcrumb') do
(
parents.map { |parent| content_tag(:li, link_to(parent.title, parent.url.presence || '#', title: parent.title)) } +
[content_tag(:li, page.try(:title) || page, class: 'active')]
).join().html_safe
end
end
|