Ancre dans L'URL lors de l'utilisation de la fonction de redirection de Symfony

J'utilise

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

Mais je dois être capable de mettre " # " anchor à la fin mais je ne peux pas trouver un moyen de le faire. Des idées?

Le code

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

Retourne / route / id / 5 mais je veux pouvoir créer/route/id / 5 # anchor7

23
demandé sur Dan Blows 2011-04-17 19:03:03

3 réponses

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

Mise à jour:

Dans Symfony 3.2 vous pouvez faire ceci:

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

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

51
répondu Dan Blows 2016-07-29 14:08:57

Utilisation du routeur:

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

Cette méthode est utilisée par Fabien Potencier : https://github.com/symfony/symfony/issues/3910#issuecomment-5110238

2
répondu Thomas Tourlourat 2013-08-14 15:07:28

Similaire, mais

$this->redirect('@routename?id='.$id.'#anchor7');

Fonctionne bien dans Symfony 1.4 et semble une solution légèrement plus simple

2
répondu Tofuwarrior 2014-09-11 04:45:11