Ich füge einen benutzerdefinierten Übermittlungs-Handler hinzu und möchte nun nach dem Senden des Formulars zur benutzerdefinierten Route umleiten.
Das habe ich benutzt
use Drupal\Core\Form\FormStateInterface;
use Symfony\Component\HttpFoundation\Request;
use \Drupal\Core\Url;
function MYMODULE_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if ($form_id == 'node_trends_form' || $form_id == 'node_trends_edit_form') {
foreach (array_keys($form['actions']) as $action) {
if ($action != 'preview' && isset($form['actions'][$action]['#type']) && $form['actions'][$action]['#type'] === 'submit') {
$form['actions'][$action]['#submit'][] = 'zyetondev_sync_trends_submit';
}
}
}
}
function zyetondev_sync_trends_submit(array $form, FormStateInterface $form_state) {
$url = Url::fromRoute('view.trends.page_1');
// die(Url::fromRoute('view.trends.page_1')->toString());
drupal_set_message("Done");
$form_state->setRedirect($url);
}
Submit Handler wird ausgeführt und die Umleitung funktioniert korrekt. Das Problem ist, wenn wir die ?destination=
URL verwenden. Wie kann ich die Weiterleitung erzwingen, obwohl die ?destination=
URL aktiviert ist?
?destination=/admin/content
zur URL hinzugefügten Knoten zu bearbeiten , möchte ich meinen benutzerdefinierten Pfad umleiten, obwohl er ?destination=
in der URL vorhanden ist.