2016-08-02 15 views
3

Twigが配列とオブジェクトのプロパティの値をsetで設定することを許さないと私は非常に混乱しています。Twig - オブジェクト/配列の値を設定できないのはなぜですか?

たとえば、次のコードでエラーが発生します。また

Unexpected token "punctuation" of value "." ("end of statement block" expected)

次の方法でもエラー(私は小枝を知っています:

{% set entry.depth = 1 %}

はエラーになります使用することを好まない):

{% set entry['depth'] = 1 %}

これは事実上、オブジェクトと配列のプロパティを変更できないことを意味します。私は率直に言って、この奇妙なことを見つける。

誰かがこの背後にある決定を説明できますか?たぶん、技術的な理由があるのであれば、なぜそれが可能ではないのか分かりにくいかもしれません。

編集:ソリューションをありがとう、私は単純に変数をオーバーライドできるのではなく、マージを使用しなければならないという事実の背後にある理由から、

答えて

5

この点で枝はちょっと奇妙です。これにはmergeフィルタを使用する必要があります。

{% set entry = entry|merge({'depth': 1}) %} 
関連する問題