1

Jekyll プロジェクトにカテゴリ アーカイブ プラグインを使用しています。ユーザーが異なるカテゴリ アーカイブ間を移動できるように、各カテゴリ アーカイブ ページにカテゴリ リスト メニューを用意したいと考えています。現在閲覧中のカテゴリーアーカイブページのカテゴリー一覧リンクにclass="active"を追加したいです。page.url を navitem.url と比較することで、サイト ナビゲーションに似たようなものがあります。違いは、サイト ナビゲーションの場合は config.yml で navitem.urls のリストを指定し、カテゴリ アーカイブの場合はカテゴリ名のリストを指定することです。投稿自体で指定されたカテゴリに基づいて生成されましたが、{{ カテゴリ | の使用に問題があります。{% 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

クラス 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 %}
于 2017-01-04T11:54:18.587 に答える