我是django和django-cms的新手。我阅读了官方文档并尝试在互联网上找到任何其他信息,这可以指导我在django cms中制作下拉菜单。但不幸的是,对于我来说,官方文档真的是原始的(我根本没有得到它的菜单),而且在互联网上没有什么明智的。
请解释我或给出关于此主题的分步指南。
此时菜单正常运行,我所拥有的唯一代码就是一对<ul>
及其内部的{% show_menu 0 100 100 100 %}
。
答案 0 :(得分:4)
在django-cms中获取下拉列表的最简单方法是遵循以下步骤: (在此示例中,我使用Bootstrap代码作为我的菜单)
在您的base.html文件(或您正在使用的任何其他名称)中,使用这种方式显示您的菜单{%show_menu 0 10 10 10%} 例如,这是我在base.html的代码中用来呈现菜单的内容:
<ul>
{% show_menu 0 10 10 10 "menu/custom-menu.html" %}
</ul>
现在使用这些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>
并且不要忘记将{% load menu_tags %}
sekizai标记放在custom-menu.html文件的顶部。