Module: Knitkit::Extensions::Railties::ActionView::Helpers::MenuHelper
- Defined in:
- lib/knitkit/extensions/railties/action_view/helpers/menu_helper.rb
Instance Method Summary collapse
- #menu_item_selected(menu_item) ⇒ Object
-
#render_menu(contents, options = {}) ⇒ Object
options menu - use a designed layout not sections layout - use defined layout.
-
#render_sub_menu(contents, options = {}) ⇒ Object
options menu - use a designed layout not sections menu_item - menu item title to start at section_unique_name - section to begin at layout - use defined layout.
Instance Method Details
#menu_item_selected(menu_item) ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/knitkit/extensions/railties/action_view/helpers/menu_helper.rb', line 8 def () result = request.env['REQUEST_PATH'] == .path unless result .descendants.each do |child| result = request.env['REQUEST_PATH'] == child.path break if result end end result end |
#render_menu(contents, options = {}) ⇒ Object
options menu
-
use a designed layout not sections
layout
-
use defined layout
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/knitkit/extensions/railties/action_view/helpers/menu_helper.rb', line 24 def (contents, ={}) locals = {:contents => contents} if [:menu] = WebsiteNav.find_by_name_and_website_id([:menu], @website.id) raise "Menu with name #{[:menu]} does not exist" if .nil? layout = [:layout] ? "menus/#{[:layout]}" : "menus/knitkit/default_menu" locals[:menu_items] = .website_nav_items.positioned else layout = [:layout] ? "menus/#{[:layout]}" : "menus/knitkit/default_section_menu" end render :partial => layout, :locals => locals end |
#render_sub_menu(contents, options = {}) ⇒ Object
options menu
-
use a designed layout not sections
menu_item
-
menu item title to start at
section_unique_name
-
section to begin at
layout
-
use defined layout
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/knitkit/extensions/railties/action_view/helpers/menu_helper.rb', line 47 def (contents, ={}) locals = {:contents => contents} if [:menu] = WebsiteNav.find_by_name_and_website_id([:menu], @website.id) raise "Menu with name #{[:menu]} does not exist" if .nil? locals[:menu_items] = ([:menu_item].nil? ? ..find{|item| (item)}.positioned_children : ..find{|item| item.title = [:menu_item]}.positioned_children) raise "No menu items exist" if locals[:menu_items].nil? layout = [:layout] ? "menus/#{[:layout]}" : "menus/knitkit/default_sub_menu" else section = [:section_unique_name].nil? ? @website_section : WebsiteSection.find_by_internal_identifier([:section_unique_name]) locals[:section] = section layout = [:layout] ? "menus/#{[:layout]}" : "menus/knitkit/default_sub_section_menu" end render :partial => layout, :locals => locals end |