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

时间:2018-10-16 20:32:54

标签: jekyll liquid

对于理解带有两个变量的特定条件语句,如何显示“不存在帖子”消息,我遇到了麻烦。

在这个示例中,假设我有一个“动物”的集合-在特定页面上,我想要一个显示“草食动物灵长类”的部分:

  {% 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 %}

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

1 个答案:

答案 0 :(得分:2)

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

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

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

希望这会有所帮助。