只是一个小问题:
我有一个供应商包,例如SonataBasketBundle有一些看法。
我在我的src/Application/SonataBasketBundle
文件夹中通过SonataEasyExtend扩展了它。
问题:我会覆盖供应商视图,并使用经典的两种方法:复制src/Application/SonataBasketBundle/Resources/views
中的所有视图文件或将其复制到app/Resources/SonataBasketBundle/views
中。
但是,不幸的是,这两种方法都不起作用。什么是可能的问题?
我错过了一些配置?
我做了一点测试: 我的扩展包名为“ApplicationSonataBasketBundle”。 现在,如果在供应商篮子索引方法中,我以这种方式更改视图名称
return $this->render('ApplicationSonataBasketBundle:Basket:index.html.twig',
array(
'basket' => $this->get('sonata.basket'),
'form' => $form->createView(),
));
框架按我的意愿加载应用程序包视图。 但是,如果应用程序包扩展了供应商(SonataBasketBundle),那么默认情况下也不应该使用名称SonataBasketBundle加载?
提前致谢。
答案 0 :(得分:0)
通过在
中粘贴正确的视图文件来覆盖视图文件应用程序/资源/束/视图
然后通过控制台
清除缓存php app / console ca:cl
或从app / cache手动删除缓存文件(更好)
当覆盖子包时,最好覆盖控制器以及模板
<?php
// src/Acme/UserBundle/AcmeUserBundle.php
namespace Acme\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AcmeUserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle';
}
}