Liquid/Jekyll: 有两个或多个条件时,如何检查没有帖子?

Liquid/Jekyll: How to check for no posts when one has two or more conditions?

我无法理解如何为具有两个变量的特定条件语句显示 "no posts exist" 消息。

在这个例子中,假设我有一个 "animals" 的集合 - 在特定页面上,我想要一个显示 "primates that are herbivores":

的部分
  {% for animal in site.animal %}
    {% if animal.species == "primate" and animal.type == "herbivore" %}

      {{ animal.content }}

    {% endif %}
  {% endfor %}

我想做的是这样的(伪代码):

{% if POSTS_EXIST_FOR_THIS_COMBO: (animal.species == "primate" and animal.type == "herbivore") %}
      {% for animal in site.animal %}
        {% if animal.species == "primate" and animal.type == "herbivore" %}
          {{ animal.content }}
        {% endif %}
      {% endfor %}
{% else %}
     There are no posts for this category.
{% endif %}

注意:这与 等示例不同,因为我有两个参数要检查。有人可以提供有关语法的建议吗?

我认为您可以执行以下操作,首先从 site.animal 中按 species=primate 过滤所有内容,然后从该池中按 type=herbivore 过滤,然后检查结果是否存在。

{% assign animals = site.animal | where:"species","primate" | where:"type","herbivore" %}

{% if animals %}
  {% for animal in animals %}
    {{ animal.content }}
  {% endfor %}
{% endif %}

希望对您有所帮助。