如何提高' show'新版Sonata Admin中的模板

时间:2016-07-28 12:39:39

标签: symfony twig sonata-admin

如何覆盖' show'新版Sonata Admin中的模板?在我在模板中扩展基本模板之前:

{% extends 'SonataAdminBundle:CRUD:base_show.html.twig' %} 

并覆盖:

{% block show_field %} my content {% endblock %}. 

但现在这不起作用。我现在需要扩展什么模板?

P.S。我想只为一个实体覆盖一个模板,所以全局覆盖对我来说不是一个解决方案。

2 个答案:

答案 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