0

我试图在树枝模板中嵌入一个控制器。它在此处记录: http: //symfony.com/doc/current/quick_tour/the_view.html并阅读了有关 stackoverflow 的各种问题,例如:如何在 Symfony 2.2 中使用“渲染”在 Twig 中插入控制器?

但是,当我尝试嵌入我的控制器时,我收到一个错误:“函数‘控制器’不存在

我的树枝模板如下所示:

<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(

)
)
)

这似乎不起作用=(我哪里出错了?

4

1 回答 1

0

这是错误的原因是因为我使用的是树枝字符串加载器而不是加载树枝文件。树枝内容中的渲染控制器不能从字符串工作。

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

于 2013-09-05T16:00:45.350 回答