将变量传递给标签Jekyll

时间:2019-10-25 14:40:32

标签: jekyll liquid

短内裤

如何将这个赋值变量放入for标签?

{% assign thisslider = include.whichslider %} // returns "slider1"
{% for item in thisslider %}

上下文

在我的博客网站上,我试图做到这一点,以便可以通过滑块发布图像以显示在文章中。 它仅适用于一个滑块,但是当我想要多个滑块时,我希望能够指定include中的哪个滑块;

{% include content-slides.html whichslider="slider1" %}

在content-slides.html中,我需要获取包含参数“ slider1”,并将其传递给for循环声明,如下所示;

{% assign thisslider = include.whichslider %}
    {% for item in page.thisslider %}
        <p>each slide code in here</p>
    {% endfor %}
</div>

因此,for循环通过include参数中定义的滑块(在后置问题中引用)

post.md

---
layout: default
slider1:
  item1 :
    image : "xe-1.jpg"
    alt : "foo"
    caption : "this is the caption"
  item2 :
    image : "xe-2.jpg"
    alt : "foo"
    caption : "this is the caption for second slide"
slider2:
  item1 :
    image : "xe-3.jpg"
    alt : "foo"
    caption : "this is the caption"
  item2 :
    image : "xe-4.jpg"
    alt : "foo"
    caption : "this is the caption for second slide"
---
{% include content-slides.html whichslider="slider1" %}
{% include content-slides.html whichslider="slider2" %}

content-slides.html

{% assign thisslider = include.whichslider %}
{% for item in page.thisslider %}
   <p>each slide code in here</p>
{% endfor %}

1 个答案:

答案 0 :(得分:2)

替换圆点符号:

{% for item in page.thisslider %}

按括号表示

{% for item in page[thisslider] %}