1

我正在寻找使用 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 级以下的“子”。这应该停止所有页面都有导航(因为它们都是我认为是主页的子级),但应该允许主导航级别以下的那些菜单出现。

如果有人能伸出援手或指出正确的方向,那就太好了。

4

1 回答 1

3

好的,这对人们来说可能没有意义,但我能够在我的 subnav 模板中使用以下 if 语句来了解这一点......

{% if children or request.current_page.level > 0 %} subnav in here {% endif %}
于 2012-09-24T10:35:22.477 回答