symfony 2.1 アプリのデフォルトのエラー小枝テンプレートを次のように上書きしようとしました:
#config.yml
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
form:
resources:
- 'AAACoreBundle::form_errors.html.twig'
- 'AAACoreBundle::form_label.html.twig'
そして、AAACoreBundle/Resources/views に form_errors.html.twig を作成しました (デフォルトのものからほとんどコピー/貼り付けしたものです)。
#form_errors.html.twig
{% block form_errors %}
{% spaceless %}
{% if errors|length > 0 %}
<ul class="validation_errors">
{% for error in errors %}
<li>{{
error.messagePluralization is null
? error.messageTemplate|trans(error.messageParameters, 'validators')
: error.messageTemplate|transchoice(error.messagePluralization, error.messageParameters, 'validators')
}}</li>
{% endfor %}
</ul>
{% endif %}
{% endspaceless %}
{% endblock form_errors %}
残念ながら、ラベル テンプレートのみが使用されます。検証エラーの場合でも、デフォルトのテンプレートを取得します。奇妙なことに、このテンプレートを twig フォーム ファイルで強制すると、次のように機能します。
{% form_theme form with 'AAACoreBundle::form_errors.html.twig' %}
私が何をチェックできるか知っている人はいますか?この理由を見つけることができないようです。