我希望使用DjangoCMS自定义sub_menu.html模板,并且目前有以下代码用于菜单:
{% if children %}
<div class="unit subnav">
<h3>{% page_attribute "menu_title" %}</h3>
<ul>
{% for child in children %}
<li class="{% if child.selected %}on{% 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 }}" title="{{ child.get_menu_title }}">{{ child.get_menu_title }}</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
基本上,这会检测页面是否有子项,然后在存在此页面的子项时添加子导航。
到目前为止,非常好。
我的问题是,当我自己导航到子页面时 - 菜单消失了,所以我想检测页面是否是1级以下的“孩子”。这应该会阻止所有页面都有导航(因为它们“我认为主页上的所有孩子都是这样的”但是应该允许那些低于主要导航水平的人出现菜单。
如果有人可以伸出援助之手或指向正确的方向,那就太棒了。
答案 0 :(得分:3)
好吧,它对人们来说可能没有意义,但是我能够通过我的subnav模板中的以下if语句来了解这个...
{% if children or request.current_page.level > 0 %} subnav in here {% endif %}