如何在djangoCMS中显示多级菜单栏

时间:2015-09-26 10:12:36

标签: django-cms

{% load i18n menu_tags cache %}
{% for child in children %}
<li class="{% if child.ancestor %}ancestor{% endif %}
    {% if child.selected %} active{% endif %}
    {% if child.chil`enter code here`dren %} dropdown{% endif %}">
    {% if child.children %}
        <a class="dropdown-toggle" data-toggle="dropdown" href="#">
            {{ child.get_menu_title }} <span class="caret"></span>
        </a>
        <ul class="dropdown-menu">
            {% show_menu from_level to_level extra_inactive    extra_active template "" "" child %}
        </ul>
    {% else %}
        <a href="{{ child.get_absolute_url }}"><span>{{ child.get_menu_title }}</span></a>
    {% endif %}
</li>

{% if class and forloop.last and not forloop.parentloop %}{% endif %}
{% endfor %}

这是djagocms项目中menu.html的代码。

任何人都可以帮助我,我们如何在djangocms中显示多级菜单栏。喜欢:

----------
> main menu
> --sub menu
> --sub menu
> ----sub menu
> ----sub menu

1 个答案:

答案 0 :(得分:1)

我有一个多级菜单,我将其包含在我的基本模板中,如此;

        <ul class="dropdown">
            {% show_menu 1 100 100 100 "partials/navigation.html" %}
        </ul>

该自定义模板如下所示;

{% load cms_tags menu_tags cache cms_page %}

{% for child in children %}
    <li>
        <a href="{{ child.attr.redirect_url|default:child.get_absolute_url }}">{{ child.get_menu_title }}</a>
        {% if child.children and child.level <= 4 %}
            <ul>
            {% show_menu from_level to_level extra_inactive extra_active template '' '' child %}
            </ul>
        {% endif %}
    </li>
{% endfor %}

这会呈现一个多级菜单,将菜单的所有子项显示为新列表。