我正在尝试在对象的属性名称中使用for循环的索引。这可能吗?
{% for i in 0..20 %}
{% include 'template.twig' with {
title: object.property_{{i}}_title,
length: object.property_{{i}}_length,
width: object.property_{{i}}_width
} %}
{% endfor %}
这会导致Twig错误。是否可以在对象属性的名称中使用for循环中的i
索引?
答案 0 :(得分:1)
你有几种方法:
插补:
{%
include 'template.twig' with {
title: object["property_#{i}_title"],
length: object["property_#{i}_length"],
width: object["property_#{i}_width"]
}
%}
级联:
{%
include 'template.twig' with {
title: object["property_"~i~"_title"],
length: object["property_"~i~"_length"],
width: object["property_"~i~"_width"]
}
%}
或属性函数(来自@DarkBee的/ cc评论):
{%
include 'template.twig' with {
title: attribute(object, 'property_'~i~'_title'),
length: attribute(object, 'property_'~i~'_length"),
width: attribute(object, 'property_'~i~'_width'),
}
%}
请参阅twigfiddle上的a live demo。