获取当前路线树枝

Posted

技术标签:

【中文标题】获取当前路线树枝【英文标题】:Getting current route twig 【发布时间】:2016-09-26 22:37:07 【问题描述】:

我想在 twig 上获取当前路线,我使用了这两个代码,但总是失败

代码 1:

 % if app.request.get('_route') == 'my_route' %
      //Do something
 % endif %

代码 2:

% if app.request.attributes.get == 'my_route' %
      //Do something
 % endif %

【问题讨论】:

app.request.get('_route') 返回什么?这应该可以工作。 How to get current route in Symfony 2?的可能重复 @AlainTiemblo 我转储它,它显示'null' .. 你能告诉我们你是如何从你的控制器渲染你的文件的吗? 【参考方案1】:

使用 URL 末尾的“app_dev.php”来调试并检查底部正在使用的路由。例如,我在这里显示“route1”:

然后在你的树枝模板中你可以使用这样的东西:

% if app.request.attributes.get('_route') == 'route1' %
    <h1>test</h1>
% endif %

我验证了它的工作原理。不过我正在使用 Symfony3。

也许也可以尝试代替“app.request.attributes.get()”,试试这些:

app.request.pathinfo app.request.uri

看看这些是否有效。

如果路由确实是null,试试:

% if app.request.attributes.get('_route') == '' %
    <h1>test</h1>
% endif %

【讨论】:

左下角的“@”符号显示的路线是什么? 那你尝试% if app.request.attributes.get('_route') == 'categories_index' %看看是否有效?

以上是关于获取当前路线树枝的主要内容,如果未能解决你的问题,请参考以下文章

如何获取当前路线

Flask:获取当前路线

如何在颤动中获取当前路线名称?

如何在 Sinatra 中获取当前路径/路线?

在 Ember 中获取当前路线名称

Angular 2 获取当前路线