Twig 访问数组索引?

问题描述 投票:0回答:4

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

这是我的设置,使用 Silex:

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

那么我可以做这样的事情吗?

{{numbers[0]}}
twig silex
4个回答
77
投票

就在发布此内容之前,我意识到,这正是您可以做的,但由于我在文档或谷歌中没有找到答案(如果我错了,请纠正我),所以我还是发布了此内容。

{{numbers[0]}} 

3
投票

Adam的回答,是正确的,只是为了说清楚并改进, 您可以直接访问数组索引

{{ 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

2
投票

这实际上对我来说在使用 Twig 和 shopware 6 时不起作用。 我尝试访问像

这样的对象
{{ page.cart.lineItems.elements[0].quantity }}

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

我可以用

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

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


© www.soinside.com 2019 - 2024. All rights reserved.