Inheritance Symfony继承不是';t工作易管理包

Inheritance Symfony继承不是';t工作易管理包,inheritance,twig,bundle,symfony,symfony2-easyadmin,Inheritance,Twig,Bundle,Symfony,Symfony2 Easyadmin,我正在使用symfony 3和EasyAdminBundle 我创建了一个名为AdminBundle的EasyAdminBundle子包(覆盖) 我在控制器中重写了一个方法,它工作正常,但当我尝试重写一个细枝模板时,它不工作 我在AdminBundle/Resources/views/default/list.html.twig 原始文件位于vendor/javiereguiluz/easyadmin bundle/Resources/views/default/list.html.twig 如

我正在使用symfony 3和EasyAdminBundle

我创建了一个名为AdminBundle的EasyAdminBundle子包(覆盖)

我在控制器中重写了一个方法,它工作正常,但当我尝试重写一个细枝模板时,它不工作

我在
AdminBundle/Resources/views/default/list.html.twig

原始文件位于
vendor/javiereguiluz/easyadmin bundle/Resources/views/default/list.html.twig

如何修复?
(我多次清除缓存…

当呈现
EasyAdminBundle:default:index.html.twig
时,Symfony实际上在两个不同的位置查找模板:

  • app/Resources/EasyAdminBundle/views/default/index.html.twig
  • src/AdminBundle/Resources/views/default/index.html.twig
  • 您的方法是执行此操作的第二个选项,但是

    仅当使用
    @FOSUserBundle/resources/config/routing/security.xml
    方法引用资源时,资源重写才起作用。如果引用资源时未使用@BundleName快捷方式,则不能以这种方式重写它们。[]

    要覆盖捆绑包模板,只需将
    index.html.twig
    模板从捆绑包复制到
    app/Resources/EasyAdminBundle/views/default/index.html.twig
    app/Resources/EasyAdminBundle
    目录将不存在,因此需要创建它)。[]

    如果在新位置添加模板,即使处于调试模式,也可能需要清除缓存(
    php bin/console cache:clear


    当呈现
    EasyAdminBundle:default:index.html.twig
    时,Symfony实际上会在两个不同的位置查找模板:

  • app/Resources/EasyAdminBundle/views/default/index.html.twig
  • src/AdminBundle/Resources/views/default/index.html.twig
  • 您的方法是执行此操作的第二个选项,但是

    仅当使用
    @FOSUserBundle/resources/config/routing/security.xml
    方法引用资源时,资源重写才起作用。如果引用资源时未使用@BundleName快捷方式,则不能以这种方式重写它们。[]

    要覆盖捆绑包模板,只需将
    index.html.twig
    模板从捆绑包复制到
    app/Resources/EasyAdminBundle/views/default/index.html.twig
    app/Resources/EasyAdminBundle
    目录将不存在,因此需要创建它)。[]

    如果在新位置添加模板,即使处于调试模式,也可能需要清除缓存(
    php bin/console cache:clear


    请发布你说你正在尝试覆盖的细枝代码。请发布你说你正在尝试覆盖的细枝代码。嗯,所以EasyAdmin在内部不使用@FOSUserBundle/resources/config/routing/security.xml方法处理资源,而是使用@BundleName方法,这样我就不能从子包中重写,但我必须将文件放在app/resources中,对吗?我不确定EasyAdmin在内部是否不使用@BundleName处理资源,但是是的,将文件放在app/Resources.Mhm中始终有效,因此EasyAdmin在内部不使用@FOSUserBundle/Resources/config/routing/security.xml方法处理资源,而是使用@BundleName方法,因此我无法覆盖子捆绑包,但我必须将文件放在app/Resources中,对吗?我不确定EasyAdmin是否在内部不使用@BundleName处理资源,但是是的,将文件放在应用程序/资源中总是有效的。
    namespace AdminBundle;
    
    use Symfony\Component\HttpKernel\Bundle\Bundle;
    
    class AdminBundle extends Bundle {
    
        public function getParent(){
    
            return 'EasyAdminBundle';
        }
    
    }