我正在使用带有EasyAdminBundle的symfony 3
我创建了一个名为AdminBundle的新捆绑包EasyAdminBundle(覆盖)
namespace AdminBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AdminBundle extends Bundle {
public function getParent(){
return 'EasyAdminBundle';
}
}
我在控制器中覆盖了一个方法并且工作正常,但是当我尝试覆盖树枝模板时,它不起作用......
我在AdminBundle/Resources/views/default/list.html.twig
原件位于vendor/javiereguiluz/easyadmin-bundle/Resources/views/default/list.html.twig
如何解决? (我多次清除缓存......)
答案 0 :(得分:2)
呈现EasyAdminBundle:default:index.html.twig
时,Symfony实际上会在模板的两个不同位置查找:
您的方法是第二个选择,但:
只有在使用
@FOSUserBundle/Resources/config/routing/security.xml
方法引用资源时才会覆盖资源。如果在不使用@BundleName快捷方式的情况下引用资源,则无法以这种方式覆盖它们。 [See Doc]
要覆盖捆绑模板,只需将捆绑中的index.html.twig
模板复制到app/Resources/EasyAdminBundle/views/default/index.html.twig
(app/Resources/EasyAdminBundle
目录即将存在,因此您需要创造它)。 [See Doc]
如果您在新位置添加模板,则可能需要清除缓存(
php bin/console cache:clear
),即使您处于调试模式。