0

我正在使用 Twig PatternLab。

我遇到了 JSON 和 Twig for 循环的小问题。

原子 00-h3-black.twig:

<h3 class="A-ChevronBlack"><a href="">{{ text.chevron }}</a></h3>

分子 00-mastertile.twig:

    <div class="M-DMasterTile">
      <div class="image"></div>
      <div class="content">
        {% include "atoms-h3-black" %}
      </div>
    </div>

有机体 00-default2.twig:

    {% for post in default2 %}
          {% include "molecules-mastertile" %}
    {% endfor %}

以及有机文件夹 00-default2.json 中的 JSON

    {
      "default2" : [
        { 
          "text" : {
            "chevron" : "How to build a campfire",
            "body" : "This is the body copy"
          }
        },
        {
          "text" : {
            "chevron":"Lorem Ipsum",
            "body" : "This is the body copy"
          }
        }
      ]
    }

我的期望是“default2”循环两次,因为我在 JSON 中有一个包含 2 个项目的数组并推送 JSON 内容。如果我从 JSON 数组中取出变量,它会显示更改(但显然是重复的)。

我在这里做错了什么?

我感谢您的帮助

4

1 回答 1

1

include使用全局范围,其中没有变量text。使用include with语法将变量传递到内部范围。

Organisms 00-default2.twig应该是这样的:

{% for post in default2 %}
      {% include "molecules-mastertile" with {'text': post.text} %}
{% endfor %}
于 2017-07-29T16:15:10.013 回答