1

我正在为我的 Jekyll 项目使用category-archive 插件。我想为每个类别档案页面提供一个类别列表菜单,以便用户可以在不同类别档案之间导航。我想将 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 %}

请帮忙=)

4

1 回答 1

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 %}
于 2017-01-04T11:54:18.587 回答