我尝试在Sonata Admin中覆盖布局模板。我做了官方文档中的所有步骤,但我的更改不起作用。
我做了:
从供应商适当的模板(standard_layout.html.twig)复制到app / Resources / SonataAdminBundle / views /。我将检查是否覆盖此模板我的更改应用于项目中的所有管理员(我希望仅在一个管理员中进行此更改)
在下一步中,我在Bundle(Name / InfoBundle / Resources / views / JobOffer)中创建了新文件,并在那里添加了我的自定义模板:findCandidate.html.twig。以下是此文件的内容:
已添加到捆绑服务:
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]]
之后我的更改未应用。所以我可能在服务中犯了错误,或者我也必须在控制器中调用这个模板?我不确定我在哪里弄错了。谁能帮助我?
答案 0 :(得分:1)
您可能在setTemplate函数中输错了模板占位符。
尝试将其设置为:
calls:
- [setTemplate, [layout, NameInfoBundle:JobOffer:findCandidate.html.twig]]
它只会为所选的管理员更改 standard_layout 。