首页 > 解决方案 > 将变量传递给标签 Jekyll

问题描述

简而言之

如何将此分配变量放入 for 标记?

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

语境

在我的博客网站上,我正在尝试制作它,以便我可以发布图像以通过滑块显示在文章中。它只适用于一个滑块,但是当我想要多个滑块时,我希望能够指定包含中的哪个滑块;

{% 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 循环通过包含参数中定义的滑块(在 post front matter 中引用)

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

内容幻灯片.html

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

标签: jekyllliquid

解决方案


替换点符号:

{% for item in page.thisslider %}

通过括号表示法

{% for item in page[thisslider] %}

推荐阅读