2013-03-05 54 views
30

我正在将我的项目从Symfony 2.0.22升级到2.2.0并查看一些更改,但我对此进行了屏蔽:如何在Symfony 2.2中使用“render”在Twig中插入控制器?

我想呈现(如在Sf 2.0.X中)他们的控制器和“渲染”树枝方法不适用于我。他们是错误:

一个例外模板(“没有 路线搜索‘GET指数:标头’”)的渲染过程中被扔在 “OSSiteBundle:指数:index.html.twig” 。

下面是实际的渲染方法:

{#SRC/OS/SiteBundle /资源/视图/ layout.html.twig#}

...

{ %{} thisid':block('thisid'),...}%render“OSSiteBundle:Index:header”

我试过了:

{{ render('OSSiteBundle:Index:header' , {'thisid' : block('thisid'), 'thistitle' : block('thistitle'), 'thisunderpageid' : block('thisunderpageid'), 'thisbackground' : block('thisbackground') }) }} 

{{ include("OSSiteBundle:Index:header.html.twig", {'thisid' : block('thisid'), 'thistitle' : block('thistitle'), 'thisunderpageid' : block('thisunderpageid'), 'thisbackground' : block('thisbackground') }) }} 

=>最后一个工作,但控制器没有这样

我想即使在routing.yml中的路径呈现COLLED ......我没有别的想法帮助我,请!

回答

86

在Symfony的> = 2.2.x的您应该嵌入您的控制器是这样的:

{{ render(controller('AcmeArticleBundle:Article:recentArticles', { 'max': 3 })) }} 

在文档看看:

Creating and using Templates

UPGRADE-2.2

+0

感谢它!我也会写同样的东西! 文档升级:https://github.com/symfony/symfony/blob/master/UPGRADE-2.2.md#twigbridge – 2013-03-05 10:28:21

+0

好的,它再次感谢 – 2013-03-05 10:44:10

相关问题