Skip to content

Instantly share code, notes, and snippets.

@parndt
Created September 26, 2010 20:14
Show Gist options
  • Save parndt/598282 to your computer and use it in GitHub Desktop.
Save parndt/598282 to your computer and use it in GitHub Desktop.
# How to re-use the menu partial for a submenu in Refinery CMS >= 0.9.8.5 and < 0.9.9.22
# header menu (main menu) which hides its children.
<%= render :partial => "/shared/menu",
:locals => {
:dom_id => 'menu',
:css => 'menu',
:collection => @menu_pages,
:hide_children => true
} -%>
# content menu (submenu) (extra_suffix cures double-up on cache)
<%= render :partial => '/shared/menu',
:locals => {
:dom_id => 'submenu',
:css => 'menu',
:roots => @menu_pages.reject{|p| p.parent_id != @page.root.id },
:collection => @menu_pages.reject{|p| !p.self_and_ancestors.map(&:id).include?(@page.root.id) },
:extra_suffix => 'submenu'
} %>
@jess
Copy link

jess commented Dec 31, 2012

this works for me:

  <ul class="sidenav">
    <%= render :partial => '/refinery/menu_branch', 
      :collection => refinery_menu_pages.select{|p| p.parent_id == @page.root.id},
      :locals => {
        :hide_children => false,
        :apply_css => true 
      } -%>
  </ul>

It'll display all sub menu links for a root menu item while on a page for that root.

@gajeev
Copy link

gajeev commented Aug 30, 2013

Anyone got this working in 2.1?

@gajeev
Copy link

gajeev commented Aug 30, 2013

For 2.1's sexy new menu presenter:

  <%=
      presenter = Refinery::Pages::MenuPresenter.new(refinery_menu_pages, self)
      presenter.roots = refinery_menu_pages.select{|p| p.parent_id == @page.root.id}
      presenter.to_html
  %>

@philmill
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment