我正在使用 Silex,并且需要根据加载位置来更改 Twig 文件。
我的第一个想法是检查 url,但不幸的是,这会返回渲染的 Twig 位置的位置,而不是预期的父 url。
{{ path(app.request.attributes.get('_route')) }}
另一种尝试是通过渲染传递一些变量,但是我不确定如何从 Twig 中执行此操作(以及是否可能)。
{{ render(path('cart')) }}
有人可以帮助我解决问题吗?
提前致谢
这确实是silex core的问题。我已经提交了一个拉取请求,该请求引入了一个renderRoute
可以解决问题的新树枝功能。希望它会尽快合并。
好吧,我没有完全理解你在问什么,但是如果你想在渲染方法中传递变量,你可以这样做:
{% render "ProjectTesteBundle::ControllerName::actionName" with { 'variableNameToPass' : variableValue } %}
如果您想在树枝模板中获取路线名称,您可以执行以下操作:
{% set routeName = app.request.attributes.get('_route') %}