2017-07-21 4 views
0

私は配列を返すカスタム小枝拡張子があります。私のテンプレートで配列を返すtwig拡張からデータにアクセスするには?

$base64Decode = new Twig_Filter('base64_decode', function ($string) { 
    return unserialize(base64_decode($string)); 
}); 

を私は配列は{{ダンプ(i.extra | 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 %} 

このループのためには、別のループ内にあるが、私は間違って何をやっていますか?あなたはsetによって変数に出力を割り当てる必要があるので、

答えて

0

あなたのフィルターを返す配列は、:

{% set data = i.extra|base64_decode %} 
{{ data.product_size }} 
+0

完全に動作します!私は、「ミニマリスト」よりむしろTwigのドキュメントを見つけなければならないと言わざるを得ない。セットのページは実際にあなたの例を使うことができる!私はforループを使う必要があると思った... – Kokako

関連する問題