Symfony继承不是EasyAdmin捆绑包

时间:2016-06-22 07:12:23

标签: inheritance twig bundle symfony symfony2-easyadmin

我正在使用带有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

中创建了我的twig文件

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

如何解决? (我多次清除缓存......)

1 个答案:

答案 0 :(得分:2)

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

  1. 应用程序/资源/ EasyAdminBundle /视图/默认/ index.html.twig
  2. 的src / AdminBundle /资源/视图/默认/ index.html.twig
  3. 您的方法是第二个选择,

      

    只有在使用@FOSUserBundle/Resources/config/routing/security.xml方法引用资源时才会覆盖资源。如果在不使用@BundleName快捷方式的情况下引用资源,则无法以这种方式覆盖它们。 [See Doc]

    要覆盖捆绑模板,只需将捆绑中的index.html.twig模板复制到app/Resources/EasyAdminBundle/views/default/index.html.twigapp/Resources/EasyAdminBundle目录即将存在,因此您需要创造它)。 [See Doc]

      

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