【问题标题】:How to loop through categories in a Jekyll collection如何遍历 Jekyll 集合中的类别
【发布时间】:2018-06-04 18:29:09
【问题描述】:

我正在尝试遍历已添加到收藏帖子的类别。对于默认的“帖子”部分,它很简单:

{% for category in site.categories %}
    {{ category }}
{% endfor %}

但我似乎无法让这对我的收藏起作用。我认为它会是这样的:

{% for category in my_collection.categories %}
    {{ category }}
{% endfor %}

但这似乎不起作用。任何帮助将不胜感激。

【问题讨论】:

    标签: jekyll liquid


    【解决方案1】:

    对于任何需要这个答案的人...我已经设法通过将所有唯一的“my_collection”类别添加到数组然后循环遍历来解决这个问题。代码如下:

    <!-- create categories array-->
    {% assign categories_array = "" | split:"|" %}
    
    <!--Add each unique 'my_collection' category to the array-->
    {% for post in site.my_collection %}
        {% for category in post.categories %}
            {% assign categories_array = categories_array | push: category | uniq %}
        {% endfor %}
    {% endfor %}
    
    <!--Output the categories-->
    {% for category in categories_array %}
        {{ category }}
    {% endfor %}
    

    【讨论】:

      【解决方案2】:

      您可以像这样获取每个类别的名称:

      {% for category in site.categories %}
         {{ category | first | strip_html }}
      {% endfor %}
      

      【讨论】:

        【解决方案3】:

        您首先必须声明集合

        {%a assign col  = site.COLLECTIONNAME %}
        

        然后你可以在集合内部循环

        {% for cat in col %}
           {{ col.name }}
        {% endfor %}
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-03-04
          • 1970-01-01
          • 1970-01-01
          • 2014-07-21
          • 1970-01-01
          • 1970-01-01
          • 2014-04-11
          相关资源
          最近更新 更多