您可以覆盖 SonataAdmin 的 base_edit.html 模板。为此,您必须在您的实体管理员中添加:
public function getEditTemplate()
{
return 'YourBundle:Sonata:base_edit.html.twig';
}
然后,复制新模板,与原始base_edit.html
模板相同。打印表格的地方是:
{% for name, form_group in admin.formgroups %}
<fieldset {% if form_group.collapsed %}class="sonata-ba-fielset-collapsed"{% endif %}>
<legend>
{% if form_group.collapsed %}
<a href="" class="sonata-ba-collapsed" title="{% trans from 'SonataAdminBundle' %}link_expand{% endtrans %}">{{ name|trans({}, admin.translationdomain) }}</a>
{% else %}
{{ name|trans({}, admin.translationdomain) }}
{% endif %}
</legend>
<div class="sonata-ba-collapsed-fields">
{% for field_name in form_group.fields %}
{% if admin.formfielddescriptions[field_name] is defined %}
{{ form_row(form[field_name])}}
{% endif %}
{% endfor %}
</div>
</fieldset>
{% endfor %}
然后,您可以在表单中添加自己的代码。变量名是表格每个图例的名称,所以你可以放你自己的代码和你想要的图例;)