埋め込みコントローラー アクションでフォームを生成しています。そして今、私は次の問題に直面しました。その場合、フォームのテーマは機能しません。
だから私が持っているもの:
テンプレート「page.html.twig」
{% block content %} {% render 'MyBundle:Widget:index' %} {% endblock %}
indexAction() はフォームを作成し、通常は form_row、form_rest などを使用してフォームをレンダリングする別のテンプレート「form.html.twig」をレンダリングします。
だから、今私はフォームのテーマをカスタマイズしようとしています.ここに私の問題があります. コードを入れると
{% form_theme form _self %}
page.html.twig で、フォーム変数が存在しないというエラーが発生しました。フォーム var は後で組み込みコントローラーで作成されます。しかし、埋め込みテンプレート「form.html.twig」にテーマコードを配置すると、「変数「複合」が存在しません」という別のエラーが発生しました
{% block form_label %}
{% spaceless %}
{% if not compound %}
{% set label_attr = label_attr|merge({'for': id}) %}
{% endif %}
{% if required %}
{% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %}
{% endif %}
{% if label is empty %}
{% set label = name|humanize %}
{% endif %}
<label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %} {% if attr.tooltip is defined %}title="{{ attr.tooltip }}"{% endif %}>{{ label|trans({}, translation_domain) }}{% if required %}<span>*</span>{% endif %}</label>
{% endspaceless %}
{% endblock form_label %}
コードのこの部分は、このファイルhttps://github.com/symfony/symfony/blob/2.1/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twigからコピーされました
それで、誰かがこのようなことをしようとしましたか?