Якорь в URL-адресе при использовании функции перенаправления Symfony
Я использую
$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
Аналогичный, но
$this->redirect('@routename?id='.$id.'#anchor7');
Прекрасно работает в Symfony 1.4 и кажется немного более простым решением.
Ответ 3
Использование маршрутизатора:
$router->generateUrl('awesome_route') . '#comment-2';
Этот метод используется Fabien Potencier: https://github.com/symfony/symfony/issues/3910#issuecomment-5110238