【发布时间】:2011-08-07 08:17:32
【问题描述】:
我正在使用
$this->redirect('route', array('id' => $id));
但我需要能够将“#”锚放在末尾,但我找不到这样做的方法。有什么想法吗?
代码
$this->redirect('route', array('id' => $id));
返回 /route/id/5 但我希望能够创建 /route/id/5#anchor7
【问题讨论】:
我正在使用
$this->redirect('route', array('id' => $id));
但我需要能够将“#”锚放在末尾,但我找不到这样做的方法。有什么想法吗?
代码
$this->redirect('route', array('id' => $id));
返回 /route/id/5 但我希望能够创建 /route/id/5#anchor7
【问题讨论】:
$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
【讨论】:
使用路由器:
$router->generateUrl('awesome_route') . '#comment-2';
Fabien Potencier 使用此方法:https://github.com/symfony/symfony/issues/3910#issuecomment-5110238
【讨论】:
类似但
$this->redirect('@routename?id='.$id.'#anchor7');
在 Symfony 1.4 中运行良好,解决方案似乎稍微简单
【讨论】: