开发django-cms下拉菜单

时间:2017-04-13 21:29:16

标签: django drop-down-menu dropdown django-cms

我是django和django-cms的新手。我阅读了官方文档并尝试在互联网上找到任何其他信息,这可以指导我在django cms中制作下拉菜单。但不幸的是,对于我来说,官方文档真的是原始的(我根本没有得到它的菜单),而且在互联网上没有什么明智的。

请解释我或给出关于此主题的分步指南。

此时菜单正常运行,我所拥有的唯一代码就是一对<ul>及其内部的{% show_menu 0 100 100 100 %}

1 个答案:

答案 0 :(得分:4)

在django-cms中获取下拉列表的最简单方法是遵循以下步骤: (在此示例中,我使用Bootstrap代码作为我的菜单)

  1. 在您的base.html文件(或您正在使用的任何其他名称)中,使用这种方式显示您的菜单{%show_menu 0 10 10 10%} 例如,这是我在base.html的代码中用来呈现菜单的内容:

    <ul> {% show_menu 0 10 10 10 "menu/custom-menu.html" %} </ul>

  2. 现在使用这些sekizai标签和类似的html代码在目录“/templates/menu/custom-menu.html”中创建模板,该代码将覆盖您的base.html并使用下拉元素呈现您的菜单:

    <div class="dropdown"> {% for child in children %} <!-- no child pages --> {% if child.is_leaf_node %} <li><a href="{{ child.get_absolute_url }}">{{child.get_menu_title }}</a></li> {% endif %} <!-- /no child pages --> <!-- has child pages --> {% if not child.is_leaf_node or child.ancestor %} <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> {{child.get_menu_title }}<b class="caret"></b></a> <ul class="dropdown-menu"> {% if child.get_descendants %} {% for kid in child.get_descendants %} <li> <a href="{{ kid.get_absolute_url }}"> {{kid.get_menu_title }} </a> </li> {% endfor %} {% endif %} </ul> </li> {% endif %} <!-- /has child pages --> {% endfor %} <!-- /end for child --> </div>

  3. 并且不要忘记将{% load menu_tags %} sekizai标记放在custom-menu.html文件的顶部。