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 %}
希望对您有所帮助。
我无法理解如何为具有两个变量的特定条件语句显示 "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 %}
希望对您有所帮助。