RainLab.Blog Post 列表:列出特定顶级类别下的子类别
RainLab.Blog Post List: List Sub-Categories under a specific Top-Level Category
我正在开发一个 10 月的 CMS 项目,该项目使用一个博客,我需要将博客 post 分为两大类。当使用 RainLab.Blog 插件的 Post 列表组件列出博客 posts 时,我需要列出作为特定顶级类别下的子类别的类别并排除其他类别。
在 TWIG 模板中,我想遍历并列出属于“鸟类”而不是“海洋生物”的类别。
在默认的Post列表组件中,类别是这样列出的:
{% 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 %}
所以我希望 post 被列为“水鸟”和“蜂鸟”,而不是“珊瑚”,因为这个类别不是“鸟类”的直接子类别。
我遇到了 this stack overflow question,但它避免了渲染不符合条件的 post。我仍然想获取和呈现其他类别中的 post,但仅 列出匹配 .
的类别
如果 hardcode category
完全没问题,那么您可以简单地将父级 slug
或 id
的类别与硬编码值进行比较。
Here I am using the slug
to compare parent, you can also use id
it's totally up to you.
{% for category in post.categories %}
{% set parentCat = category.getParent().first() %}
{% if parentCat.slug == 'birds' %}
<!-- here we are ^ comparing ^ please replace value as per your need -->
<a href="{{ category.url }}">{{ category.name }}</a>
{% if not loop.last %}, {% endif %}
{% endif %}
{% endfor %}
现在它应该只显示一个 categories
,它的父类别有 given slug
。
如有疑问请评论
我正在开发一个 10 月的 CMS 项目,该项目使用一个博客,我需要将博客 post 分为两大类。当使用 RainLab.Blog 插件的 Post 列表组件列出博客 posts 时,我需要列出作为特定顶级类别下的子类别的类别并排除其他类别。
在 TWIG 模板中,我想遍历并列出属于“鸟类”而不是“海洋生物”的类别。
在默认的Post列表组件中,类别是这样列出的:
{% 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 %}
所以我希望 post 被列为“水鸟”和“蜂鸟”,而不是“珊瑚”,因为这个类别不是“鸟类”的直接子类别。
我遇到了 this stack overflow question,但它避免了渲染不符合条件的 post。我仍然想获取和呈现其他类别中的 post,但仅 列出匹配 .
的类别如果 hardcode category
完全没问题,那么您可以简单地将父级 slug
或 id
的类别与硬编码值进行比较。
Here I am using the
slug
to compare parent, you can also useid
it's totally up to you.
{% for category in post.categories %}
{% set parentCat = category.getParent().first() %}
{% if parentCat.slug == 'birds' %}
<!-- here we are ^ comparing ^ please replace value as per your need -->
<a href="{{ category.url }}">{{ category.name }}</a>
{% if not loop.last %}, {% endif %}
{% endif %}
{% endfor %}
现在它应该只显示一个 categories
,它的父类别有 given slug
。
如有疑问请评论