Antworten:
Sie können hook_form_alter
einen benutzerdefinierten Submit-Handler hinzufügen, in dem Sie den Umleitungspfad festlegen können.
Weitere Informationen zur Formularumleitung finden Sie auf der FAPI .
Sie können eine Regel erstellen, die den Benutzer zu jeder Seite umleitet, wenn er einen bestimmten Inhaltstyp erstellt oder bearbeitet. Wenn Sie eine Regel hinzufügen, wählen Sie "Nach dem Erstellen neuer Inhalte" und fügen Sie die Bedingung "Inhalt hat Typ" hinzu. Im Abschnitt "Ausführen" können Sie einen Benutzer auf eine beliebige Seite umleiten.
Für eine Umleitung nach dem Bearbeiten eines Knotens erstellen Sie einfach eine neue Regel und wählen als erste Option "Nach dem Aktualisieren des vorhandenen Inhalts".
Stellen Sie dabei sicher, dass auch ein mögliches vorhandenes Ziel deaktiviert wird, das normalerweise zur URL hinzugefügt wird, wenn Sie auf die Schaltfläche Bearbeiten klicken, um einen vorhandenen Knoten zu bearbeiten.
Ersetzen Sie article
in MYMODULE_form_article_node_form_alter
durch den Computernamen Ihres Inhaltstyps.
/**
* Implements hook_form_BASE_FORM_ID_alter().
*/
function MYMODULE_form_article_node_form_alter(&$form, &$form_state, $form_id) {
$form['actions']['submit']['#submit'][] = '_MYMODULE_node_form_redirect';
}
/**
* Submit callback.
*/
function _MYMODULE_node_form_redirect($form, &$form_state) {
// Unset destination first.
unset($_GET['destination']);
unset($_REQUEST['edit']['destination']);
$form_state['redirect'] = 'FOO/BAR';
}
unset
der destination
den Bearbeitungs-Anwendungsfall behandeln sollen, aber sie haben keine Auswirkungen auf meine Drupal 7-Site.
Die Dokumentation ist nicht sehr übersichtlich, aber Sie sollten die $_GET['destination']
Variable ändern , nicht $_REQUEST
oder $form_state['redirect']
.
In Drupal 7 können Sie das Knotenbearbeitungsformular ändern, um Ihre eigene Übermittlungsfunktion anzuhängen. In diesem Formular können Sie form_state des Knotenlöschbestätigungsformulars so ändern, dass der Parameter 'destination' enthalten ist. Wir haben uns als Unterthema des "Sieben" -Admin-Themas entwickelt ...
Dokumentation für hook_form_FORM_ID_alter
Sie können diesen Hook einer Vorlage / einem Thema hinzufügen, nicht nur Modulen.
Fügen Sie in Ihrem template.php
Design das folgende Formular hinzu:
function yourtheme_node_delete_form_submit( &$form, &$form_state ) {
$form_state[ 'redirect' ][ 1 ][ 'query' ][ 'destination' ] = "admin/content";
}
und dann voila. wird nach dem Löschen eines Knotens nicht mehr auf die Homepage umgeleitet.
Lösung von hier http://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#comment-18139
<?php
function FORM_NAME_form_submit($form, &$form_state) {
$form_state['redirect'] = array(
// $path
'path/to/redirect/to',
// $options
array('query' => array('key' => 'value')),
// $http_response_code
302,
);
}
?>