2012-01-11 3 views
4

twigを使って、配列内のすべてのアイテムをどのように翻訳し、スラッシュでそれらを結合できますか? 追加の変数を使用する必要があるのですか、よりきめ細かな方法がありますか?どのように配列アイテムを翻訳してそれらに参加しますか?

瞬間のために、私はこのような何かやっている:それは吸う

{% set labels = [] %} 
{% for feature in menu_item.features %} 
    {% set labels = labels|merge([feature|trans([], 'features')]) %} 
{% endfor %} 
{{ labels | join('/')}} 

を。

答えて

3

なぜあなたはループしている間にコンテンツを出力しないのですか?

{% for feature in menu_item.features %} 
    {% if loop.index0 > 0 %}/{% endif %} 
    {{feature|trans}} 
{% endfor %} 
+0

私はこの方法が特別な理由で好きではありませんが、私はそれが私の解決策よりも簡単であることを認めなければなりません。 – greg0ire

+0

私は "if loop.index0> 0"は "if loop.index0" – Gabe

+0

に短縮される可能性があります – GusDeCooL

0

「表示」内ですべてを行う必要はありません。

このタイプのコードは、おそらくコントローラのロジック内に配置して、マージした結合結果としてビューに渡す方がはるかに適しています。あなたの例では、コード内ではるかに簡単に実行できる結果をコンパイルするだけです。

関連する問題