Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Collections 杰基尔&x2013;检查页面是否属于集合_Collections_Jekyll_Liquid - Fatal编程技术网

Collections 杰基尔&x2013;检查页面是否属于集合

Collections 杰基尔&x2013;检查页面是否属于集合,collections,jekyll,liquid,Collections,Jekyll,Liquid,是否有方法检查当前页面是否属于集合?如果是的话,我能看看这个系列的标签是什么吗 背景故事: 我试图实现的是为属于集合的所有页面显示不同的布局。有了这个新的布局,我想显示一个侧面导航(某种形式的“另请参阅”),列出当前站点所属的集合中的所有页面 如果我的问题被证明是愚蠢的-请原谅,我对jekyll是新手,我真的试图自己找到答案。任何收藏文档都有一个页面。收藏变量,即收藏标签 但是,如果要将特定布局与集合关联,可以使用: page.collection返回文档所属集合的标签。所以我猜你想做一些事情,

是否有方法检查当前页面是否属于集合?如果是的话,我能看看这个系列的标签是什么吗

背景故事: 我试图实现的是为属于集合的所有页面显示不同的布局。有了这个新的布局,我想显示一个侧面导航(某种形式的“另请参阅”),列出当前站点所属的集合中的所有页面


如果我的问题被证明是愚蠢的-请原谅,我对jekyll是新手,我真的试图自己找到答案。

任何收藏文档都有一个
页面。收藏
变量,即收藏标签

但是,如果要将特定布局与集合关联,可以使用:


page.collection
返回文档所属集合的标签。所以我猜你想做一些事情,比如:

{% if page.collection == 'COLLECTION_LABEL' %}
NEW LAYOUT
{% else %}
OLD LAYOUT
{% endif %}
{% for page in site[page.collection] %}
<a href="{{ page.url }}">{{ page.title }}</a>
{% endfor %}
要访问集合中的页面,可以将标签与
site.collection\u label
site[collection\u label]
(如果是变量,则需要
[]
)。比如:

{% if page.collection == 'COLLECTION_LABEL' %}
NEW LAYOUT
{% else %}
OLD LAYOUT
{% endif %}
{% for page in site[page.collection] %}
<a href="{{ page.url }}">{{ page.title }}</a>
{% endfor %}
{%用于站点[page.collection]%中的页面]
{%endfor%}

很抱歉,要访问收藏,您需要按
站点[page.collection]
的方式进行操作。收藏
只是一个标签。我刚刚更新了answerCollection文档的布局,无法从liquid logic中定义。提供的代码只能处理includes。@DavidJacquel我不知道您的意思,您能详细说明一下吗?要设置布局,您可以在文档的前端或默认配置中进行设置。无法根据文档内容设置布局。不能说
{%assign page.layout='my_layout%}
,因为页面对象已冻结,无法更改。您的代码可以做的是有条件地使用include:
{%if page.collection='toto%%{%include inc_1.html%}{%else%}{%include inc_2.html%}{%endif%}
虽然您的答案可以做到这一点,但它并没有解决布局问题。