我有这段代码列出某个页面的所有孩子:
<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>
e.g.
Item1
cItem1
cItem2
如何修改代码以显示子页面的子项?,例如:
Item1
cItem1
cItem2
ccItem1
ccItem2
ccItem3
Item2
答案 0 :(得分:1)
由于此代码是递归的,我很惊讶它不会显示多个级别。也就是说,menu_branch partial调用menu_branch partial,直到它们的子项为nil。
以下是RefineryCMS 2.0中_menu_branch partial的代码:
<%= render :partial => '/refinery/menu_branch', :collection => children,
:locals => {
:apply_css => local_assigns[:apply_css],
:hide_children => !!hide_children,
:menu_levels => local_assigns[:menu_levels]
} -%>
请注意,这个包括:menu_levels。您可以尝试复制和粘贴它,或者只是将local_assigns[:menu_levels]
替换为您想要显示的级别数的整数。