将数组传递给包含在树枝中
Passing an array to an include in twig
似乎参数传递不正确...
{% set items = {
item: {
'id': '1',
'brand': 'client1',
'description': 'solutions.client1.description' | trans},
item: {
'id': '2',
'brand': 'client2',
'description': 'solutions.client2.description' | trans}
} %}
{% include 'site/case-excerpt.html.twig'
with {'id': items.item.id,
'brand': items.item.brand,
'description': items.item.description
}
%}
然后在 site/case-excerpt.html.twig
文件中:
{% include 'site/testimonials/item.html.twig'
with {'id': id,
'brand': brand,
'description': description
}
%}
并且在 site/testimonials/item.html.twig
文件中:
<div class="carousel-item {{ id }}">
<img src="images/brands/{{ brand }}.jpg">
<p>
{{ description }}
</p>
</div>
预期输出如下:
<div class="carousel-item 1">
<img src="images/brands/client1.jpg">
<p>
I'm the content of the translation for the first client
</p>
</div>
<div class="carousel-item 2">
<img src="images/brands/client2.jpg">
<p>
I'm the content of the translation for the second client
</p>
</div>
我放弃了通过 items
手动循环的想法,因为它似乎可以很好地完成,here for example。
在您提供的示例中,它们循环遍历对象,并为每个对象包含一个部分。
您正在使用 items.item
。
Twig 不知道你想要什么,同样,用相同的键 item
创建一个数组也行不通
{% set items = [{
'id': '1',
'brand': 'client1',
'description': 'solutions.client1.description' | trans},
{
'id': '2',
'brand': 'client2',
'description': 'solutions.client2.description' | trans}
] %}
然后遍历您的项目并包括部分
{% for item in items %}
{% include 'site/case-excerpt.html.twig'
with {'id': item.id,
'brand': item.brand,
'description': item.description
}
{% endfor %}
这是最终的工作代码
基础文件。数组已定义并传递给 include.
{% set items = [{
'id': '1',
'brand': 'euromaster',
'description': 'solutions.euromaster.description' | trans},
{
'id': '2',
'brand': 'logo-havas-voyages',
'description': 'solutions.havas.description' | trans}
] %}
{% include 'site/case-excerpt.html.twig'
with {'items': items
}
%}
然后在 site/case-excerpt.html.twig
文件中:
我们在数组上循环并包含部分
{% for item in items %}
{% include 'site/testimonials/item.html.twig'
with {'id': item.id,
'brand': item.brand,
'description': item.description
}
%}
{% endfor %}
并且在 site/testimonials/item.html.twig
文件中:
<div class="carousel-item {{ id }}">
<img src="images/brands/{{ brand }}.jpg">
<p>
{{ description }}
</p>
</div>
谢谢@Mazzy!
似乎参数传递不正确...
{% set items = {
item: {
'id': '1',
'brand': 'client1',
'description': 'solutions.client1.description' | trans},
item: {
'id': '2',
'brand': 'client2',
'description': 'solutions.client2.description' | trans}
} %}
{% include 'site/case-excerpt.html.twig'
with {'id': items.item.id,
'brand': items.item.brand,
'description': items.item.description
}
%}
然后在 site/case-excerpt.html.twig
文件中:
{% include 'site/testimonials/item.html.twig'
with {'id': id,
'brand': brand,
'description': description
}
%}
并且在 site/testimonials/item.html.twig
文件中:
<div class="carousel-item {{ id }}">
<img src="images/brands/{{ brand }}.jpg">
<p>
{{ description }}
</p>
</div>
预期输出如下:
<div class="carousel-item 1">
<img src="images/brands/client1.jpg">
<p>
I'm the content of the translation for the first client
</p>
</div>
<div class="carousel-item 2">
<img src="images/brands/client2.jpg">
<p>
I'm the content of the translation for the second client
</p>
</div>
我放弃了通过 items
手动循环的想法,因为它似乎可以很好地完成,here for example。
在您提供的示例中,它们循环遍历对象,并为每个对象包含一个部分。
您正在使用 items.item
。
Twig 不知道你想要什么,同样,用相同的键 item
创建一个数组也行不通
{% set items = [{
'id': '1',
'brand': 'client1',
'description': 'solutions.client1.description' | trans},
{
'id': '2',
'brand': 'client2',
'description': 'solutions.client2.description' | trans}
] %}
然后遍历您的项目并包括部分
{% for item in items %}
{% include 'site/case-excerpt.html.twig'
with {'id': item.id,
'brand': item.brand,
'description': item.description
}
{% endfor %}
这是最终的工作代码
基础文件。数组已定义并传递给 include.
{% set items = [{
'id': '1',
'brand': 'euromaster',
'description': 'solutions.euromaster.description' | trans},
{
'id': '2',
'brand': 'logo-havas-voyages',
'description': 'solutions.havas.description' | trans}
] %}
{% include 'site/case-excerpt.html.twig'
with {'items': items
}
%}
然后在 site/case-excerpt.html.twig
文件中:
我们在数组上循环并包含部分
{% for item in items %}
{% include 'site/testimonials/item.html.twig'
with {'id': item.id,
'brand': item.brand,
'description': item.description
}
%}
{% endfor %}
并且在 site/testimonials/item.html.twig
文件中:
<div class="carousel-item {{ id }}">
<img src="images/brands/{{ brand }}.jpg">
<p>
{{ description }}
</p>
</div>
谢谢@Mazzy!