是否包含参数自动传递给子包括?

时间:2016-01-14 16:37:48

标签: jekyll liquid

正在研究一个非常复杂的Jekyll项目,我很难理解继承如何为包含的参数工作。结构是这样的:

档案我正在处理:
{% include test.html param='foo' %}

的test.html:

TEST {{ include.param }} {% include test2.html %} {% include test3.html param2='woo' %}

test2.html:
TEST 2 {{ include.param }}

test3.html:
TEST 3 {{ include.param }} {{ include.param2 }}

输出为:TEST foo TEST 2 foo TEST 3 woo

有时打印{{ include.param }},有时不打印。这是为什么?

1 个答案:

答案 0 :(得分:0)

如果在模板中添加不带参数的include,它将继承其父级的所有参数。

但是,如果您向子包含添加单个参数,即使它与您尝试调用的参数不同,则会为后续子项重置包含变量。

在这种情况下你仍然可以传递params,做这样的事情:

{% include test3.html param=include.param param2='woo' %}