使用Symfony的重定向功能时锚定URL

2022-08-30 15:58:05

我正在使用

$this->redirect('route', array('id' => $id));

但是我需要能够在最后放置“#”锚点,但我找不到这样做的方法。有什么想法吗?

代码

$this->redirect('route', array('id' => $id));

返回 /route/id/5,但我希望能够创建 /route/id/5#anchor7


答案 1
$this->redirect($this->generateUrl('route', array('id' => $id)) . '#anchor7');

更新:

在Symfony 3.2中,你可以这样做:

// generating a URL with a fragment (/settings#password)
$this->redirectToRoute('user_settings', ['_fragment' => 'password']);

查看 https://symfony.com/blog/new-in-symfony-3-2-routing-improvements


答案 2

使用路由器 :

$router->generateUrl('awesome_route') . '#comment-2';

这种方法由Fabien Potencier使用:https://github.com/symfony/symfony/issues/3910#issuecomment-5110238


推荐