我正在为我的 Jekyll 项目使用类别存档插件。我希望每个类别存档页面都有一个类别列表菜单,以便用户可以在不同的类别存档之间导航。我想将class="active"添加到当前查看的类别存档页面的类别列表链接中。通过将 page.url 与 navitem.url 进行比较,我对网站导航有类似的东西,不同之处在于,对于网站导航,我在 config.yml 中指定了 navitem.url 列表,对于类别存档,类别名称列表是根据帖子本身指定的类别生成的,我在使用 {% if %} 运算符中的 {{ category | first }} 变量时遇到问题,所以我可以检查"=="或"包含"
这是我目前拥有的,但它似乎不起作用
<ul class="product-categories">
{% for category in site.categories %}
{% if page.url == {{ category | first }} %}
{% assign class = "active" %}
{% else %}
{% assign class = "" %}
{% endif %}
<li>
<a href="/{{ category | first }}/" class="{{ class }}">{{ category | first }}</a>
</li>
{% endfor %}
请帮忙=)
类 liquid 变量位于 for 循环内,因此当您在范围外使用它时为空,它也应该是"包含"而不是 ==,因为路径包含更多不会出现在类别中的字符。
<ul class="product-categories">
{% assign class = "" %}
{% for category in site.categories %}
{% assign cat=category|first %}
{% if page.url contains cat %}
{% assign class = "active" %}
{% endif %}
<li>
<a href="/{{ category | first }}/" class="{{ class }}">{{ category | first }}</a>
</li>
{% endfor %}