我有两个捆绑A和B,在B中我需要覆盖A的模板,所以我使用了bundle inheritence。 到目前为止一切运行良好,但现在我只需要在某些特定情况下覆盖包A的模板。我在捆绑B的操作中尝试了这个(它覆盖了捆绑包A的动作):
class ArticleController extends BaseArticleController
{
public function detailsAction(Request $request, $article)
{
if('general' === $article->getType()) {
// this doesn't return the template of the bundle A :(
return parent::detailsAction($request, $article);
}
// else go on on rendering the other template...
}
但是无论如何这都会覆盖,即使我的文章类型为'general'
答案 0 :(得分:0)
做这样的事情:
public function detailsAction(Request $request, $article)
{
if('general' === $article->getType()) {
// this doesn't return the template of the bundle A :(
return parent::detailsAction($request, $article);
}
// else go on on rendering the other template...
return $this->render('YourBundleA:YourControllerA:YourTemplateA.html.twig', array(...));
}
答案 1 :(得分:0)
我发现了“虫子”,我没有正确地指出整个事情:因为我重写了A的控制器,覆盖树枝完全没用,所以我重新命名了束B的枝条这种方式就像一个魅力!