diff options
Diffstat (limited to 'app/helpers/navigation_helper.rb')
-rw-r--r-- | app/helpers/navigation_helper.rb | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/app/helpers/navigation_helper.rb b/app/helpers/navigation_helper.rb index fde6b45..b4ca514 100644 --- a/app/helpers/navigation_helper.rb +++ b/app/helpers/navigation_helper.rb @@ -19,7 +19,7 @@ module NavigationHelper site.menu.each do |item| active = current_page_path.first == item.name ? 'active' : '' haml 'li.tab', :class => first do - haml 'a.tab', I18n.t('pages.' + item.name), :href => menu_item_path(item), :class => active + haml 'a.tab', menu_item_title(item), :href => menu_item_path(item), :class => active end first = '' end @@ -39,7 +39,7 @@ module NavigationHelper def act_as(page) page = site.find_page(page) @current_page_path = page.path - render_page(page) + page_body(page) end private @@ -48,12 +48,24 @@ module NavigationHelper "/#{I18n.locale}/#{item.path.join('/')}" end + def menu_item_title(item) + page = site.pages[item.path_str] || site.pages[item.name] + if page + page.nav_title(I18n.locale) + else + nil + end + end + def display_menu(menu, level=0) menu.each do |item| - haml 'li', :class => path_active(current_page_path, item) do - haml 'a', I18n.t('pages.'+item.name), :href => menu_item_path(item), :class => "level#{level}" + title = menu_item_title(item) + if title + haml 'li', :class => path_active(current_page_path, item) do + haml 'a', menu_item_title(item), :href => menu_item_path(item), :class => "level#{level}" + end + display_menu(item.submenu, level+1) end - display_menu(item.submenu, level+1) end end |