我有点困惑,因为我在网上发布了一些不同的方法。
我在src / Application / Sonata / SonataMediaBundle中使用easyextends创建了一个包,它扩展了供应商中的SonataMediaBundle。
默认模板显示
This is the gallery index template. Feel free to override it.
This file can be found in SonataMediaBundle:Gallery:index.html.twig.
所以我在我的软件包中添加了src / Application / Sonata / SonataMediaBundle / Resources / views / Gallery / index.html.twig
这是有效的和覆盖的,为什么所有这些其他方式如How to override Sonata Media Bundle templates?
答案 0 :(得分:1)
您使用的方法正确无误。引用symfonys How to Override Templates from Third-Party Bundles
要覆盖捆绑模板,只需将
index.html.twig
模板从捆绑包复制到app/Resources/AcmeBlogBundle/views/Blog/index.html.twig
(app/Resources/AcmeBlogBundle
目录将不存在,因此您需要创建它)。您现在可以自由地自定义模板。
有关更详细/更复杂的覆盖行为,请查看How to Use Bundle Inheritance to Override Parts of a Bundle
除非您无法使用此方法获得所需的结果,否则我不会太担心其他解决方案,但我无法想到。