我的DjangoCMS具有以下结构:
- Page a
----第a.1页
----第a.2页
----第a.3页
----第a.4页
使用{%show_menu_below_id" Page a"%}显示:
<ul>
<li> Page a.1</li>
<li> Page a.2</li>
<li> Page a.3</li>
<li> Page a.4</li>
</ul>
我需要在navegation菜单中显示两个separeted列,例如:
<ul>
<li> Page a.1</li>
<li> Page a.2</li>
</ul>
<ul>
<li> Page a.3</li>
<li> Page a.4</li>
</ul>
如何获得一些子页面?
答案 0 :(得分:1)
为菜单指定自定义HTML时,您可以做很多事情。模板标记如下:
{% show_menu 0 100 100 100 "menu_top.html" %}
在menu_top.html中,您有一个名为children
的变量,方便您使用。您可以使用for循环计数器来确定何时插入其他HTML并拆分列表,或者您可以使用菜单项的其他参数(即他们是否有孩子等)。您甚至可以在需要自定义参数时创建菜单修改器并增强导航树。
以下是Django CMS repo中的一个示例:
{% load menu_tags %}
{% for child in children %}
<li class="child{% if child.selected %} selected{% endif %}{% if child.ancestor %} ancestor{% endif %}{% if child.sibling %} sibling{% endif %}{% if child.descendant %} descendant{% endif %}">
<a href="{{ child.attr.redirect_url|default:child.get_absolute_url }}">{{ child.get_menu_title }}</a>
{% if child.children %}
<ul>
{% show_menu from_level to_level extra_inactive extra_active template "" "" child %}
</ul>
{% endif %}
</li>
{% endfor %}