如何覆盖' show'新版Sonata Admin中的模板?在我在模板中扩展基本模板之前:
{% extends 'SonataAdminBundle:CRUD:base_show.html.twig' %}
并覆盖:
{% block show_field %} my content {% endblock %}.
但现在这不起作用。我现在需要扩展什么模板?
P.S。我想只为一个实体覆盖一个模板,所以全局覆盖对我来说不是一个解决方案。
答案 0 :(得分:0)
尝试 base_show_macro 模板是您正在寻找的:
vendor/sonata-project/admin-bundle/Resources/views/CRUD/base_show_macro.html.twig
或在树枝上:
{% extends 'SonataAdminBundle:CRUD:base_show_macro.html.twig' %}
答案 1 :(得分:0)
Symfony版本:4.1。*
SonataAdmin版本:^ 3.39
这是我的方法:
在config/services.yaml
admin.invoice:
class: App\Admin\InvoiceAdmin
arguments: [~, App\Entity\Invoice, ~]
tags:
- { name: sonata.admin, manager_type: orm, label: invoice, label_catalogue: App, label_translator_strategy: sonata.admin.label.strategy.noop }
calls:
- [ setTemplate, [show, "InvoiceAdmin/show.html.twig"]]
public: true
然后我将vendor/sonata-project/admin-bundle/src/Resources/views/CRUD/base_show.html.twig
复制到templates/InvoiceAdmin/show.html.twig
。