42

是否可以从 Twig 模板中直接访问数组索引?

这是我的设置,使用 Silex:

return $app['twig']->render('template', array('numbers' => array('one', 'two', 'three')));

所以我可以做这样的事情吗?

{{numbers[0]}}
4

3 回答 3

70

就在发布此之前,我意识到这正是您可以做的,但是由于我在文档或谷歌的任何地方都没有找到答案(如果我错了,请纠正我),无论如何我已经发布了这个。

{{numbers[0]}} 
于 2012-08-07T10:23:15.730 回答
3

亚当的答案,是正确的,只是为了说清楚和改进,可以直接访问数组索引

{{ myArray[0] }}

如果您需要循环访问

{% set arrayOfItems = ['ZERO', 'ONE'] %}
{% set myArray = ['APPLE', 'ORANGE'] %}
{% for oneItem in arrayOfItems %}
    <p>{{ oneItem }} equals {{ myArray[loop.index0] }}</p>
{% endfor %}

在这个例子中,我在一个不相关的循环中使用了一个数组,所以结果是:

ZERO equals APPLE
ONE equals ORANGE
于 2020-08-05T13:01:21.580 回答
1

在将 Twig 与 shopware 6 一起使用时,这实际上对我不起作用。我尝试访问像这样的对象

{{ page.cart.lineItems.elements[0].quantity }}

什么会导致 Twig 模板的解析错误

我可以用

{{ page.cart.lineItems.elements | first }}

获取第一个元素,但不知道如何访问第一个元素的属性

于 2021-10-19T14:00:07.147 回答