Antworten:
Sie können hook_form_altereinen 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 articlein MYMODULE_form_article_node_form_alterdurch 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';
}
unsetder destinationden 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 $_REQUESToder $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.phpDesign 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,
);
}
?>