app/helpers/menus_helper.rb in fullstack-cms-0.2.4 vs app/helpers/menus_helper.rb in fullstack-cms-0.2.5

- old
+ new

@@ -1,18 +1,22 @@ module MenusHelper - def find_or_create_menu(uid) - Menu.find_or_create_by_uid(uid, :name => "#{uid}".gsub("-", "_").humanize) + def find_or_create_menu(uid, locale = nil) + if locale + Menu.find_or_create_by_uid_and_locale(uid, locale.to_s, :name => "#{uid}".gsub("-", "_").humanize) + else + Menu.find_or_create_by_uid(uid, :name => "#{uid}".gsub("-", "_").humanize) + end end - def nav_items_for(uid) - menu = find_or_create_menu(uid) + def nav_items_for(uid, locale = nil) + menu = find_or_create_menu(uid, locale) html = "" menu.links.each do |link| unless block_given? - html << nav_item(link.label, link_url(link)) + html << nav_item(link.label, link_url(link), :rel => link.nofollow ? "nofollow" : nil) else html << yield(link) end end @@ -23,28 +27,10 @@ content_tag :ul, nav_items_for(uid, &block), options, false end def link_url(link) - url = link.url - if url.blank? - "#" - - elsif url.starts_with?("content://") - klass_name, id = url.gsub("content://", "").split("#") - klass = klass_name.constantize - resource = klass.find(id) - if resource - page_path_for(resource) - else - "#" - end - - else - url - - end - + link.url.present? ? CGI::escape(link.url) : (link.linked ? page_path_for(link.linked) : "#") end end