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