我正在django-cms应用程序中尝试使用两个单独的菜单。一个用于页眉,另一个用于页脚:
[ Logo ] Link_A Link_B Link_C Link_D
... content ...
Link_E Link_F Link_G Link_H
使用
{% show_menu %}
中的bread,将显示所有注册的页面,链接A-H,并且不允许我分开这两个菜单。如何创建两个单独的菜单?
最佳答案
这取决于您实际要做什么,但是我有一个基本模板,该模板的顶部有一个导航菜单,底部有一个Sitemap子菜单。
因此,从导航开始;
{% show_menu 1 100 100 100 "partials/navigation.html" %}
哪个使用模板;
{% 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 %}
然后是站点地图;
{% show_sub_menu 2 1 1 "partials/sitemap.html" %}
和
sitemap.html
{% load cms_tags cms_page cache %}
{% if children %}
{% for child in children %}
<ul class="site-footer__column">
<li>
<h4>
<a href="{{ child.attr.redirect_url|default:child.get_absolute_url }}">
{{ child.get_menu_title }}
</a>
</h4>
</li>
{% if child.children %}
{% for baby in child.children %}
<li class="footer_sub">
<a href="{{ baby.attr.redirect_url|default:baby.get_absolute_url }}">
{{ baby.get_menu_title }}
</a>
</li>
{% endfor %}
{% endif %}
</ul>
{% endfor %}
{% endif %}
了解可以为菜单提供的选项(数字)可以使您显示站点的不同部分,但是如果内置菜单标签不适合您的需求,则可以编写自定义菜单标签。
标准菜单文档在这里; http://docs.django-cms.org/en/3.2.2/reference/navigation.html
以下是用于自定义菜单的文档; http://docs.django-cms.org/en/3.2.2/how_to/menus.html