【发布时间】:2017-01-24 20:03:48
【问题描述】:
如果您的所有页面都在树中(父母/孩子),那么像这样的标准 Wagtail 面包屑系统可以完美运行:
{% block main %}
{% if self.get_ancestors|length > 1 %}
<ul class="breadcrumb">
{% for page in self.get_ancestors %}
{% if page.is_root == False and page.url != '/' %}
<li><a href="{% pageurl page %}">{{ page.title }}</a></li>
{% endif %}
{% endfor %}
<li class="active">{{ self.title }}</li>
</ul>
{% endif %}
{% endblock main %}
但是,如果您的某些子页面不是真正的子页面,而是使用 RoutablePageMixin,它就会失败。因为可路由页面实际上是父页面的不同实例,所以面包屑跟踪无法将其向下延伸到可路由页面。
我想我可以在上下文中添加一些额外的信息来检测情况和特殊情况,但是所有 WT URL 方法都返回“父”页面(即实际实例)的 URL,除此之外不是可以在面包屑中使用的程序化“标题”。
让面包屑系统对子页面和可路由页面同样适用的最佳方式是什么?
【问题讨论】:
标签: django breadcrumbs wagtail