Sonata Admin会覆盖每个管理员的布局模板

时间:2016-01-03 13:44:44

标签: symfony templates sonata-admin symfony-sonata

我尝试在Sonata Admin中覆盖布局模板。我做了官方文档中的所有步骤,但我的更改不起作用。

我做了:

  1. 从供应商适当的模板(standard_layout.html.twig)复制到app / Resources / SonataAdminBundle / views /。我将检查是否覆盖此模板我的更改应用于项目中的所有管理员(我希望仅在一个管理员中进行此更改)

  2. 在下一步中,我在Bundle(Name / InfoBundle / Resources / views / JobOffer)中创建了新文件,并在那里添加了我的自定义模板:findCandidate.html.twig。以下是此文件的内容:

    https://gist.github.com/anonymous/5f4780a1ae8d7329cd91

  3. 已添加到捆绑服务:

    name_info.admin.offers:
    
        class: Name\InfoBundle\Admin\JobOfferAdmin
        tags:
            - {name: sonata.admin, manager_type: orm, group: Info, label: Job offers}
        arguments: [~, Name\Info\Entity\JobOffer, NameInfoBundle:JobOffer]
        calls:
            - [ setTemplate, [findCandidate, NameInfoBundle:JobOffer:findCandidate.html.twig]]
    
  4. 之后我的更改未应用。所以我可能在服务中犯了错误,或者我也必须在控制器中调用这个模板?我不确定我在哪里弄错了。谁能帮助我?

1 个答案:

答案 0 :(得分:1)

您可能在setTemplate函数中输错了模板占位符。

尝试将其设置为:

calls:
    - [setTemplate, [layout, NameInfoBundle:JobOffer:findCandidate.html.twig]]

它只会为所选的管理员更改 standard_layout