[嗨,我是Wagtail的新手,我在一个客户网站上工作。我打算做的是将我的w页面动态链接到侧边栏,该侧边栏当前位于主应用程序文件夹的模板目录中的base.html中,该目录带有settings.py。我想知道是否有一种方法可以在此处呈现base.html的号召性用语。或者,如果我应该制作一个单独的应用程序,然后在其中创建一个base.html,它扩展到我将在网站的其余部分中使用的所有其他模板。谢谢!
上面的侧边栏编码为:
<!-- in biodept/templates/base.html -->
{% wagtailuserbar %}
<div class="container main-container">
<div class="row">
<!-- Nav bar not mobile -->
<nav class="nav" id="nav-1">
<a class="nav-link nav-desktop-link nav-desktop-link-active" href="#">HOME</a>
<a class="nav-link nav-desktop-link" href="#">BIOMEDICINE</a>
<a class="nav-link nav-desktop-link" href="#">ECOLOGY & SYSTEMATICS</a>
<a class="nav-link nav-desktop-link" href="#">MOLECULAR BIO & BIOTECH</a>
<a class="nav-link nav-desktop-link" href="#">PROJECTS</a>
<button class="dropdown-btn nav-link nav-desktop-link">PROGRAMS<ion-icon style="float: right; padding-top: 0.25vw;" name="caret-down-outline"></ion-icon></button>
<div id="btn-t" class="dropdown-container">
<a class="nav-link dropdown-nav-desktop-link" href="#">UNDERGRADUATE</a>
<a class="nav-link dropdown-nav-desktop-link" href="#">GRADUATE</a>
</div>
<a class="nav-link nav-desktop-link" href="faculty.html">FACULTY PAGES</a>
<a class="nav-link nav-desktop-link" href="#">BIODIVERSITY LABORATORY</a>
</nav>
{% block content %}{% endblock %}
</div>
</div>
同样,base.html与settings.py所在的目录相同。 BioDept是该项目的名称。
注:根据更新后的问题,这似乎与StreamField无关,但这是有关如何基于Wagtail页面结构实现菜单的问题。
Wagtail没有提供用于呈现菜单的内置方法,这是因为它将是每个Wagtail站点所特有的,任何通用解决方案都可能只涵盖一小部分情况。但是,开始使用时可能会有些混乱。
Wagtail,确实带有一种指示页面应该显示在菜单中的方法,尽管这是每个Page
模型的一部分。
您可以在此处的模型参考中看到这一点https://docs.wagtail.io/en/latest/reference/pages/model_reference.html#wagtail.core.models.Page.show_in_menus
用户可以在“促销”标签上编辑此值,加上上面的文档,您可以定义默认值(但是,现有页面需要以其他方式更新)。
这里有三种方法来实现菜单并将其用作项目中的template tag或template include。
查看Bakerydemo代码
跟随本教程
安装扩展包