1

1 つの div セクションの下にある私のbase.html.twigファイルでは、render 関数がSession ControllereditActionで呼び出され、次にedit.html.twigをレンダリングします。

<div class="container">
    {{ render(controller("DefaultBundle:Session:edit", {'id':session.id})) }}
</div>

edit.html.twig : _

{{ form_start(form) }}
    {{ form_errors(form) }}
    <div>
        <p>Fill in the form below to change the data:</p>
        <div class="session_form">
            {{ form_label(form.title) }}
            {{ form_widget(form.title) }}

            <div id="form_options">
                {{ form_rest(form) }}
            </div>
            <button class="btnSave">Save</button>
        </div>
    </div>
 {{ form_end(form) }}

これはすべて正常に動作しますが、状況によっては、editAction のルートに基づいて、フォーム内のエンティティを編集するために edit.html.twig ファイルが表示されます。上記のように、ルートを必要とせずに直接レンダリングできます。 editAction の場合。これは、テンプレートが継承されず、基本的なフォームを持つプレーンなスタイルになることを意味します。「{% extends 'DefaultBundle::base.html.twig' %}」を使用することもできますが、これは、テンプレートが基本的に 1 つのページに 2 回表示されることがあることを意味し、これは見栄えが悪く実用的ではありません。render(controller{}) が使用されているかどうかに応じて base.html.twig を拡張する方法はありますか?

4

1 に答える 1