2013-08-20 49 views
0

我试图在树枝模板中嵌入一个控制器。它记录在这里:http://symfony.com/doc/current/quick_tour/the_view.html并已经阅读计算器它这样一个不同的问题:How to insert a Controller in Twig with "render" in Symfony 2.2?Symfony 2.3.3嵌入控制器

然而,当我试图嵌入我的控制器,我得到一个错误:“功能‘控制器’不存在

我的树枝模板看起来像这样:

<div class="section"> 
    <div id="a" class="section_column"> 
     {{ render(controller('MySymfonyBundle:AccessPage:load', {'page_id':'1'})) }} 
    </div> 
</div> 

正被嵌入控制器做一些分贝选择等等然后呈现另一视图,以包含该模板的内部。

这是完全错误:

array(
['message'] => 
'Uncaught PHP Exception Twig_Error_Syntax: "The function "controller" does not exist in "<div id="{{ identifier }}" class="section"> 
<div id="a" class="section_column"> 
{{ render(controller('ABCBundle:Site:grabPage', {'page_id':'1'})) }} 
</div> 
</div>" at line 3" at /www/vendor/twig/twig/lib/Twig/ExpressionParser.php line 555' 
['context'] => 
array(

['exception'] => 
array(

) 
) 
) 

这只是似乎没有工作=(我要去哪里错了

+0

确保有TwigBridge的正确版本? https://github.com/symfony/symfony/blob/v2.3.3/src/Symfony/Bridge/Twig/Extension/HttpKernelExtension.php#L41 – dezull

+0

而SF的正确版本? – mmoreram

+0

谢谢你的帮助。即使我无法在文件中看到版本号,Twig Bridge也是安装的,但是我的版本是89行,与您链接的版本相同。我很想在我的控制器的顶部有一个'use'语句,这让我想我需要在我的控制器中包含类名称空间。 symfony是通过作曲家安装的2.3.3版本,其他所有功能都可以作为一种享受。 – azzy81

回答

0

这被示数的原因是因为我用树枝串装载机?没有加载一个树枝文件在树枝内容中的渲染控制器不能从一个字符串中工作

树枝模板存储在mysql数据库中,并用Propel 1.6进行提取,然后传递给树枝字符串加载器以呈现html