In Drupal 7 verwende ich den folgenden Code.
function my_goto($path) {
drupal_goto($path, array(), 301);
}
Welchen Code soll ich in Drupal 8 verwenden?
redirection
8
Anu Mathew
quelle
quelle
Antworten:
Dies ist der Code, der in Drupal 8 verwendet werden sollte. Weitere Informationen finden Sie unter Änderungsdatensatz .
quelle
use Symfony\Component\HttpFoundation\RedirectResponse;
Um auf Anu Mathews Antwort aufzubauen ;
Um einen Statuscode hinzuzufügen, ist dies nur der zweite Parameter in der RedirectResponse-Klasse.
quelle
Ich habe noch nicht in Drupal 8 gearbeitet, aber gemäß der Dokumentation wurde
drupal_goto
es aus Drupal 8 entfernt.Anstelle von müssen
drupal_goto
Sie schreiben:und so etwas mit Parametern:
Überprüfen Sie hier https://www.drupal.org/node/2023537 und Klasse RedirectResponse
quelle
\Drupal::url('route.name')
Ihre URL oder vielleicht absolute URL zu ersetzen .Dies kann erreicht werden, indem integrierte EventDispatcher-Komponenten für Symphonien genutzt werden. Sie müssen lediglich ein benutzerdefiniertes Modul erstellen. Fügen Sie Ihre Datei services.yml hinzu und geben Sie die entsprechende Dienstkonfiguration an.
Fügen Sie im Verzeichnis src Ihrer Module Ihre EventSubscriber.php-Klasse hinzu und beschreiben Sie hier Ihre Methoden.
quelle
Der für mich perfekt funktionierende Redirect-Code lautet wie folgt:
In allen anderen Fällen erhalte ich Ausnahmen oder Fehler, zum Beispiel: LogicException: Der Controller muss eine Antwort zurückgeben ...
ODER
https://www.drupal.org/project/drupal/issues/2852657
Es gibt bereits eine Diskussion darüber, hoffe das hilft!
quelle
Dies funktioniert für die interne oder externe Umleitung:
quelle