Dans Drupal 7, j'utilise le code suivant.
function my_goto($path) {
drupal_goto($path, array(), 301);
}
Quel code dois-je utiliser dans Drupal 8?
redirection
8
Anu Mathew
la source
la source
Réponses:
C'est le code qui devrait être utilisé dans Drupal 8. Voir changer d'enregistrement pour plus d'informations.
la source
use Symfony\Component\HttpFoundation\RedirectResponse;
S'appuyer sur la réponse d'Anu Mathew ;
Pour ajouter un code d'état, ce n'est que le deuxième paramètre de la classe RedirectResponse;
la source
Je ne travaillais pas encore dans Drupal 8 mais selon la documentation
drupal_goto
supprimée de Drupal 8.Au lieu de
drupal_goto
vous devez écrire:et quelque chose comme ça avec des paramètres:
Vérifiez ici https://www.drupal.org/node/2023537 et la classe RedirectResponse
la source
\Drupal::url('route.name')
par votre URL ou peut-être une URL absolue.Cela peut être réalisé en tirant parti des symphonies intégrées du composant EventDispatcher. Il vous suffit de créer un module personnalisé. Ajoutez votre fichier services.yml et fournissez la configuration de service appropriée.
dans le répertoire Your modules src add créez votre classe EventSubscriber.php et décrivez vos méthodes ici.
la source
Le code de redirection fonctionnant parfaitement pour moi est le suivant:
Dans tous les autres cas, je reçois une sorte d'exception ou d'erreur, par exemple: LogicException: le contrôleur doit renvoyer une réponse ...
OU
https://www.drupal.org/project/drupal/issues/2852657
Il y a déjà une discussion à ce sujet, j'espère que ça aide!
la source
cela fonctionne pour la redirection interne ou externe:
la source