树枝渲染与vars

时间:2012-10-23 18:06:35

标签: render twig

我正在使用Silex,需要根据其加载的位置更改Twig文件。

我的第一个想法是检查网址,但不幸的是,这会返回呈现的Twig位置的位置,而不是预期的父网址。

{{ path(app.request.attributes.get('_route')) }}

另一种尝试是通过渲染传递一些变量,但是我不确定如何在Twig中执行此操作(如果可能的话)。

{{ render(path('cart')) }}

有人可以帮我解决问题吗?

提前致谢

2 个答案:

答案 0 :(得分:2)

这确实是silex核心的一个问题。我已经提交了一个pull request,它引入了一个新的renderRoute twig函数来解决这个问题。希望很快就能合并。

答案 1 :(得分:0)

嗯,我没有完全满足你的要求,但是如果你想在render方法中传递变量,你可以这样做:

{% render "ProjectTesteBundle::ControllerName::actionName" with { 'variableNameToPass' : variableValue } %}

如果你想在twig模板中获取路由名称,你可以这样做:

{% set routeName = app.request.attributes.get('_route') %}