0

タイトルごとに、Twigは条件付きでの割り当てを許可していますか?すべての人がこれらの割り当てを気に入っているわけではありませんが、非常に役立つ場合があります。

これ:

{% if (name = attribute(mappings, property)) is defined %}
    {% else %}
    {% set attrs = attrs|merge(['%s="%s"'|format(name, value)]) %}
{% endif %}

...動作しておらず、エラーが発生します:

開いた括弧が正しく閉じられていません。29行目の::tooltips.html.twigにある値"="( "句読点"は値")")の予期しないトークン"operator")。

4

1 に答える 1

1

小枝のエラーは、この行が原因です

{% if (name = attribute(mappings, property)) is defined %}

Twig は条件付き代入式が好きではなく、個人的にも好きではありません。これは単なる怠惰なショートカットであり、潜在的な問題は、いくつかのキーストロークを節約する価値はありません。

しかし、これが何をすべきかについて混乱していることを認めなければなりません。attribute(mappings, property)intoの結果をキャプチャしようとしてnameいますが、それが失敗した場合にのみ、nameを使用して何かを行いますがname、テンプレートの他の場所で定義されていない限り、値はありません。

于 2012-07-11T15:21:56.240 に答える