在我的base.html.twig文件的一个 div 部分下,渲染函数在Session Controller和editAction上被调用,这反过来渲染了 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) }}
这一切都很好,但是,在某些情况下,将显示 edit.html.twig 文件以根据 editAction 的路由编辑表单中的实体,如上所述,它可以直接呈现而无需路由用于编辑操作。这意味着不会继承任何模板,它将是具有基本形式的普通样式。我可以使用"{% extends 'DefaultBundle::base.html.twig' %}"但是,这意味着有时模板实际上会在页面上显示两次,这既不美观也不实用。有没有办法根据是否使用 render(controller{}) 来扩展 base.html.twig?