Class | SimpleNavigation::Renderer::Breadcrumbs |
In: |
lib/simple_navigation/rendering/renderer/breadcrumbs.rb
|
Parent: | SimpleNavigation::Renderer::Base |
Renders an ItemContainer as a <div> element and its containing items as <a> elements. It only renders ‘selected’ elements.
By default, the renderer sets the item‘s key as dom_id for the rendered <a> element unless the config option autogenerate_item_ids is set to false. The id can also be explicitely specified by setting the id in the html-options of the ‘item’ method in the config/navigation.rb file. The ItemContainer‘s dom_class and dom_id are applied to the surrounding <div> element.
# File lib/simple_navigation/rendering/renderer/breadcrumbs.rb, line 13 def render(item_container) a_tags = a_tags(item_container) content_tag(:div, a_tags(item_container).join(join_with), {:id => item_container.dom_id, :class => item_container.dom_class}) end
# File lib/simple_navigation/rendering/renderer/breadcrumbs.rb, line 20 def a_tags(item_container) item_container.items.inject([]) do |list, item| if item.selected? list << link_to(item.name, item.url, {:method => item.method}.merge(item.html_options.except(:class,:id))) if item.selected? if include_sub_navigation?(item) list.concat a_tags(item.sub_navigation) end end list end end