我正在尝试创建一个 DjangoCMS 网页,但是当我将显示菜单添加到我的页面时,CMS 中添加的新页面在 show_menu 标记的每个实例上都是重复的,同一 html 代码上可能有多个 show_menu 标记具有与 CMS 相同的功能。我可以添加其他 show_menus 但使用静态 html 代码。我的计划是在同一页面上添加多个 show_menus。
{% load static cms_tags menu_tags sekizai_tags %}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
</head>
<body>
{% cms_toolbar %}
<div class="sidebar close">
<div class="logo-details">
<i class='bx bxl-c-plus-plus'></i>
<span class="logo_name"> LOGO </span>
</div>
{% block content1 %}{% endblock content1 %}
<ul class="nav-links">
<li>
<a href="#">
<i class='fa-solid fa-gauge' ></i>
<span class="link_name">Dashboard</span>
</a>
<ul class="sub-menu blank">
<li><a class="link_name" href="#">Dashboard</a></li>
</ul>
</li>
<li>
<div class="iocn-link">
<a href="#">
<i class='bx bx-book-alt' ></i>
<span class="link_name">Applications</span>
</a>
<i class='fa-solid fa-chevron-down arrow' ></i>
</div>
<ul class="sub-menu">
<li><a class="link_name" href="#">Applications</a></li>
* >>>>>>>>>> {% show_menu 0 100 100 100 %}*
</ul>
</li>
<li>
<div class="iocn-link">
<a href="#">
<i class='bx bx-book-alt' ></i>
<span class="link_name">Servers</span>
</a>
<i class='fa-solid fa-chevron-down arrow' ></i>
</div>
<ul class="sub-menu">
<li><a class="link_name" href="#">Servers</a></li>
* >>>>>>>>>> {% show_menu 1 100 100 100 %}*
</ul>
</li>
</div>
</li>
</ul>
</div>
</body>
</html>
是的,您可以有多个
show_menu
标签,但如果您为它们提供类似的参数,您可能会在每个标签中获得相同的页面。
您向模板标签提供了 4 个参数,因此这些是;
start_level
end_level
extra_inactive
extra_active
它们的行为方式完全取决于您构建页面树的方式。如果您有一个主页作为根节点(即级别 0)并且不想显示根节点,请将
start_level
设置为 1。
您将在第一个菜单中首先看到的是 0 级。此菜单不断遍历树直至第 100 层。
然后,您的第二个菜单从下一个级别 1 开始。并且它还会继续遍历树,到达 100 级。
根据页面树的深度,您可以从两个菜单开始执行如下操作,以便您了解这一点;
{% show_menu 0 2 %}
{% show_menu 2 6 %}
您可能想要删除第三个和第四个参数,直到开始看到您想要的结果,但为了清楚起见,取自 docs;
第三个参数,
(默认=0),指定有多少个 如果节点不是直接节点,则应显示导航级别 当前活动节点的祖先或后代。extra_inactive
第四个参数,
(默认=100),指定有多少个 当前活动节点的后代级别应该是 显示。extra_active