【发布时间】:2021-08-24 05:02:24
【问题描述】:
我正在开发一个 10 月的 CMS 项目,该项目使用一个博客,我需要将博客文章分成两个主要类别。在使用 RainLab.Blog 插件的 Post List 组件列出博客文章时,我需要列出属于特定顶级类别下的子类别的类别,并排除其他类别。
在 TWIG 模板中,我想遍历并列出属于“鸟类”而不是“海洋生物”的类别。
在默认的帖子列表组件中,分类如下所示:
{% for category in post.categories %}
<a href="{{ category.url }}">{{ category.name }}</a>{% if not loop.last %}, {% endif %}
{% endfor %}
我想把它改成这样:
{% for category in post.categories %}
{# if category is a sub-category of "Birds"... #}
<a href="{{ category.url }}">{{ category.name }}</a>{% if not loop.last %}, {% endif %}
{# endif #}
{% endfor %}
因此,我希望将帖子列为“Shorebirds”和“Hummingbirds”,而不是“Corals”,因为该类别不是“Birds”的直接子类别。
我遇到了this stack overflow question,但它避免了呈现不符合条件的帖子。我仍然想获取和呈现其他类别的帖子,但只列出匹配的类别。
【问题讨论】:
-
好的,如果我是正确的,您只需要一个类别列表,它是该特定博客的顶级类别的直接子级,所以一个信息。需要像你如何定义哪个是主要的顶级类别或者它们是固定的还是可以硬编码它们?
-
还有另一个问题,您与我们分享了您选择这些类别的屏幕截图:)
-
正确。我不希望 TWIG 输出帖子列表中当前帖子已标记的每个类别,但前提是所述类别具有“鸟类”类别作为直接父级。如果“鸟类”类别是硬编码的,那完全没问题。我只需要动态抓取它的孩子。
标签: twig octobercms octobercms-plugins