我正在使用category-archive plugin作为我的Jekyll项目。我希望每个类别存档页面都有一个类别列表菜单,以便用户可以在不同的类别存档之间导航。我想将class =“active”添加到当前查看的类别归档页面的类别列表链接中。我通过将page.url与navitem.url进行比较来为网站导航做类似的事情,区别在于对于网站导航,我在config.yml中指定了navitem.urls的列表,对于类别存档,类别名称列表是根据帖子本身指定的类别生成,我在使用{{category | {%if%}运算符中的第一个}}变量,所以我可以检查“==”或“包含”
这就是我目前所拥有的,但它似乎无法正常工作
<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 %}
请帮助=)
答案 0 :(得分:0)
类液体变量在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 %}