友達を表示するために大きなコードを使用し、いくつかのテンプレートで使用しているため、マクロにしたかったのですが、構文が非常に一般的ではなく、これを行う方法があるかどうかわかりません。
分離したいコードの部分は次のとおりです。
{% if(fr.email != null) %}
<p>
<span class ="label">Email Address: </span>
<a class="email" href="{{ path('friend_email', {'id': fr.id}) }}">
{{ fr.email }}
</a>
</p>
{% endif %}
{% if(fr.phone != null) %}
<p>
<span class="label">Phone: </span>
{{ fr.phone }}
</p>
{% endif %}
など、約 10 個の変数について。別のテンプレートでこれを使用していますが、fr.email、fr.phone などの代わりに、friend.email、friend.phone... が必要です。
私はこれを試しましたが、成功しませんでした:
{% macro display_friend(fr) %}
{% if({{ fr }}.email != null) %}
<p>
<span class ="label">Email Address: </span>
<a class="email" href="{{ path('friend_email', {'id': {{ fr }}.id}) }}">
{{ {{ fr }}.email }}
</a>
</p>
{% endif %}
{% if({{ fr }}.phone != null) %}
<p>
<span class="label">Phone: </span>
{{ {{ fr }}.phone }}
</p>
{% endif %}
{% endmacro %}
必要に応じて、各テンプレートで fr.email、fr.phone、fr.* ... を使用できるので、継承が機能する可能性がありますか?
だから私の質問は: コード マクロのこの部分を作成する方法はありますか? はいの場合、それはより良くなるか、継承はより良くなりますか?