1

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

我的第一个想法是检查 url,但不幸的是,这会返回渲染的 Twig 位置的位置,而不是预期的父 url。

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

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

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

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

提前致谢

4

2 回答 2

2

这确实是silex core的问题。我已经提交了一个拉取请求,该请求引入了一个renderRoute可以解决问题的新树枝功能。希望它会尽快合并。

于 2012-10-30T15:49:09.200 回答
0

好吧,我没有完全理解你在问什么,但是如果你想在渲染方法中传递变量,你可以这样做:

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

如果您想在树枝模板中获取路线名称,您可以执行以下操作:

{% set routeName = app.request.attributes.get('_route') %}
于 2012-10-26T16:05:04.697 回答