如何在 symfony 2 中获取根路由

Posted

技术标签:

【中文标题】如何在 symfony 2 中获取根路由【英文标题】:How to get root route in symfony 2 【发布时间】:2016-04-12 18:55:39 【问题描述】:

我是 symfony 的新手,所以希望这是微不足道的 How to get current route in Symfony 2? 对我不起作用,因为它返回当前控制器的路由

我有调用 twig 模板的根控制器,其中正在使用 render url('_internal_main_navigation') 创建另一个控制器,如果我调用

$request = $this->container->get('request');
$routeName = $request->get('_route');

从嵌套控制器我得到 _internal_main_navigation 而不是 _home 或任何根路由

我如何获得 _home?

【问题讨论】:

【参考方案1】:

原来How to get current route in Symfony 2? 有答案,只是没有被接受

https://***.com/a/11660777/711072 为我指明了正确的方向

诀窍是通过模板将其传递给控制器​​,如

% render url('_internal_main_navigation',  'route': app.request.attributes.get('_route') ) %

然后就可以在控制器中访问了

$this->getRequest()->query->get('route');

在控制器中

【讨论】:

你想从twig模板右侧重定向到主页 我不知道如何链接答案抱歉修改链接你必须点击或复制任何答案下方的分享链接。

以上是关于如何在 symfony 2 中获取根路由的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 5:如何从路由规则中获取选项数据

如何在 Symfony2 中获取控制器的所有路由列表?

如何在 Symfony 2 中获取当前路线?

Symfony2 - 在 TWIG 模板中获取当前 URL 或路由?

如何在 Symfony 路由中使用锚点?

symfony2 控制器的功能测试:如何生成路由