我有一个返回数组的自定义Twig扩展名:
$base64Decode = new Twig_Filter('base64_decode', function ($string) {
return unserialize(base64_decode($string));
});
在我的模板中,我可以看到数组使用{{dump(iextra | base64_decode)}}到达并输出:
array(5) { ["discount"]=> int(0) ["product_size"]=> string(5) "Fruit" ["sub1"]=> string(0) "" ["sub2"]=> string(0) "" ["sub3"]=> string(0)
但我无法弄清楚如何访问我需要的值...这不起作用:
{% for x in (i.extra|base64_decode) %}
product_size: {{x.product_size}}
sub1: {{x.sub1}}
sub2: {{x.sub2}}
sub3: {{.xsub3}}
{% endfor %}
这个for循环在另一个循环中,但我做错了什么?
答案 0 :(得分:0)
您的过滤器返回数组,因此您需要通过set
将其输出分配给变量:
{% set data = i.extra|base64_decode %}
{{ data.product_size }}