web-dev-qa-db-fra.com

Comment obtenir le nom de l'itinéraire d'une page d'affichage?

Dans mon gestionnaire d'envoi personnalisé, je veux rediriger vers une page de visualisation URL, supposons que mon nom de vue soit team et son chemin est /admin/team, Je découvre que je devrais utiliser $from_state->setRedirect('route'); mais quand j'ai essayé $from_state->setRedirect('/admin/team'); Face à une erreur, comment puis-je obtenir le nom de l'itinéraire dans?

16
David Mcsmith

Le nom de routage correct pour l'affichage est view.VIEW_MACHINE_NAME.PAGE_MACHINENAME (Dans un autre mot "view.$view_id.$display_id"). essayez quelque chose comme suivre

use \Drupal\Core\Url;

$url = Url::fromRoute('view.VIEW_MACHINE_NAME.PAGE_MACHINENAME');
$form_state->setRedirectUrl($url);

et pour votre cas

$url = Url::fromRoute('view.team.page_1'); // page_1 is my guess as to your page name, please replace it with your page machine_name

Apprenez plus: Comment formuler le nom de l'itinéraire

après le commentaire @ 4k4, vous pouvez également rediriger le formulaire vers un routeur personnalisé avec une URL

suffit d'utiliser $form_state->setRedirectUrl($url)

39
Yusef

Pour utiliser des filtres contextuels de vues comme paramètres, utilisez arg_X, fe.

$url = Url::fromRoute('view.team.page_1', ['arg_0' => 1234]);
5
rémy

Le Webprofiler du module devel vous permet de voir l'itinéraire de n'importe quelle page.

Il affiche également le nombre de requêtes DB effectuées sur la page ainsi que le temps de demande en plus de nombreuses autres fonctionnalités.

Il est disponible pour Drupal 7 et 8.

4
Parag

Exemple simple: cela fonctionnera :)

use Drupal\Core\Url;
$form_state->setRedirect('view.VIEW_MACHINE_NAME.PAGE_MACHINENAME'); // view.my_view.page_1
2
kalidasan

Pour Durpal 8, vous pouvez également consulter la table de base de données "router" pour obtenir vos paramètres de redirection.

Recherchez la valeur correspondante dans la colonne "nom" et comparez-la à la colonne du chemin.

$from_state->setRedirect('YOUR_DB_VALUE_HERE'); 
1
Olli Bolli