问题描述
|
我在用着
$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中工作正常,解决方案似乎稍微简单一些