0

私は Symfony2 にプロジェクトを持っています。そこでは、さまざまなことを行うさまざまなフォームがたくさんあります。現在苦労していることの 1 つは、form_rows を処理するために 2 つの異なるテンプレートを設定する方法を考え出すことです。

次のようにフォーム行を処理する fiels.html.twig ファイルで、1 つの form_row テンプレートを指定しました。

{% block form_row %}
    {% spaceless %}
        <div class="form-element{% if errors %} form-element-error{% endif %} widget-group clearfix">
            <div class="widget widget-1-of-3">
                {{ form_label(form) }}
            </div>
            <div class="widget widget-2-of-3">
                {{ form_widget(form) }}
                {% if errors %}
                    <small>{{ form_errors(form) }}</small>
                {% else %}
                    {% if help is defined %}
                        <small>{{ help }}</small>
                    {% endif %}
                {% endif %}
            </div>
        </div>
    {% endspaceless %}
{% endblock form_row %}

これは一般的なフォームではうまく機能しますが、テーブルにもいくつかのフォーム要素があります。これは通常、更新するフォーム データのグループ用です。

この場合、別の form_rows テンプレートを使用して指定できるようにしたいと考えています。

フィールド名またはグループを介して行を指定できることは理解していますが、多くの行があり、これを行うためのより一般的な方法が必要です。

これを達成する方法を知っている人はいますか。

4

1 に答える 1

2

さまざまなテンプレートで多数のフォーム テーマを定義できます。テーマを使用する場所の上部に twig ファイルを追加するだけです。

{% form_theme form 'AcmeDemoBundle:Form:fields.html.twig' %}

{{ form_widget(form) }}

ここで、form_theme ファイルは、テーマ定義を含む任意の twig ファイルにすることができます。フォーム ウィジェットは、付属のテーマで装飾されるようになりました。

于 2013-02-17T09:20:44.033 に答える