Djangocms显示菜单:如何显示当前页面下的菜单?

2024-10-01 17:23:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我完全被django cms的show\u menu标签搞糊涂了。有四个参数,但找不到关于这些参数的完整文档。只有几个exmaples,但我找不到如何显示菜单下的当前页面。在

页面排列如下:

--Projects
----proj1
----proj2
--Gallery
----gal1
----gal2

Projects模板中,如何设置show\u menu的参数以仅显示当前页面下的菜单?在

更新

@布兰登

我试过了:

^{pr2}$

就像文件上说的那样。但最终会出现以下错误:

u'menu/cust_menu.html' could not be converted to Integer

Tags: django文档参数cmsshow菜单页面标签
2条回答

文档中实际上有一个错误,它似乎也是django cms最新版本中引入的一个小bug(计划在django cms3.0版本中解决!)。在

https://github.com/divio/django-cms/issues/1913

我用这个解决了:

{% show_menu_below_id "topics_page" 0 4 100 100 "./_menus/menu_topics.html" %}

其中“topics_page”是反向id(您可以在cms admin的高级部分中配置它)。在

对于菜单的递归呈现,只需配置要显示下一级菜单的子页面的自定义id

在自定义菜单模板中,可以使用子属性和for循环计数器。下面,检查一个讨厌的例子,但如果您想自定义菜单模板,仍然有用:

{% load menu_tags %}
{% load template_extras %}

{% for child in children %}
    {#    sub voices topics   #}

    {% if child.level == 1 %}
        {% if not forloop.counter|divisibleby:2 %}
            <div class="row-fluid">
        {% endif %}
    <div class="span6">
        <div class="sub1">
            <a href="{{ child.attr.redirect_url|default:child.get_absolute_url }}"><span
                    class="icon-play"></span>{{ child.get_menu_title|capfirst }}</a>
        </div>
        {% if child.children %}
            {% show_menu_below_id child.attr.reverse_id 0 4 100 100 template %}
        {% endif %}
    </div>
    {% if forloop.counter|divisibleby:2 %}
        </div> <!  end row fluid  >
    {% endif %}


    {% elif child.level == 2 %}
        {#        2 - {{ child.attr.reverse_id}} - {{ child.get_menu_title }}#}
        <div class="row-fluid">
            <div class="span11 offset1">
                <div class="sub2">
                    <a href="{{ child.attr.redirect_url|default:child.get_absolute_url }}">{{ child.get_menu_title|capfirst }}
                    </a></div>
            </div>
        </div>
        {% if child.children %}
            {% show_menu_below_id child.attr.reverse_id 0 4 100 100 template %}
        {% endif %}
    {% elif child.level == 3 %}
        {#    leaf node topics   #}
        {#        3 - {{ child.attr.reverse_id}} - {{ child.get_menu_title }}#}
        <div class="row-fluid">
            <div class="span10 offset2">
                <div class="sub3"><a href="{{ child.attr.redirect_url|default:child.get_absolute_url }}">
                    <i class="icon-list-alt"></i> &nbsp;{{ child.get_menu_title|capfirst }}</a></div>
            </div>
        </div>
    {% endif %}
{% endfor %}

相关问题 更多 >

    热门问题