将活动类添加到 Jekyll 中当前选定的类别存档页面



我正在为我的 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 %}

相关内容

  • 没有找到相关文章

最新更新