app/helpers/pages_helper.rb in activeadmin-selleo-cms-0.0.32 vs app/helpers/pages_helper.rb in activeadmin-selleo-cms-0.0.33

- old
+ new

@@ -37,6 +37,44 @@ body = section.body.to_s body = "" if body.match /<p>\s*<\/p>/ body += link_to(t("active_admin.cms.edit"), edit_admin_section_path(section)) if current_user and current_user.respond_to? :admin? and current_user.admin? body.html_safe end + + def menu(options={}) + options[:ul] ||= {} + options[:li] ||= {} + + content_tag :ul, class: options[:ul][:class] do + ActiveadminSelleoCms::Page.published.show_in_menu.where(parent_id: options[:root]).reorder("lft ASC").collect{ |page| + classes = [options[:li][:class], options[:li][:selected]].compact.join(" ") if page == @page + if block_given? + concat(content_tag :li, yield(page), class: classes) + else + concat(content_tag :li, link_to_page(page), class: classes) + end + } + end + end + + def locales(options={}, &block) + options[:ul] ||= {} + options[:li] ||= {} + locales_scope = ActiveadminSelleoCms::Locale.enabled + locales_scope = locales_scope.exclude(I18n.locale) unless options[:current_locale] + + content_tag :ul, class: options[:ul][:class] do + locales_scope.collect{ |locale| + classes = [options[:li][:class], options[:li][:selected]].compact.join(" ") if locale == I18n.locale + if block_given? + concat(content_tag :li, yield(locale), class: classes) + else + concat(content_tag :li, link_to_locale(locale.code.to_s.upcase, locale, @page), class: classes) + end + } + end + end + + def root + page_path(I18n.locale, ActiveadminSelleoCms::Page.root) + end end