Jawaban:
Anda dapat menggunakan hook_form_alter
untuk menambahkan penangan kirim kustom di mana Anda dapat mengatur jalur pengalihan.
Lihat FAPI untuk detail lebih lanjut tentang pengalihan formulir.
Anda dapat membuat aturan yang mengarahkan pengguna ke halaman mana pun saat mereka membuat atau mengedit tipe konten tertentu. Ketika Anda menambahkan aturan pilih "Setelah Membuat Konten Baru" tambahkan juga kondisi "Konten Memiliki Jenis". Bagian You Do akan memberi Anda opsi untuk mengarahkan pengguna ke halaman apa pun yang Anda inginkan.
Untuk pengalihan setelah mengedit simpul, cukup buat aturan baru dan pilih "Setelah memperbarui Konten yang Ada" sebagai opsi pertama Anda.
Saat melakukan ini, pastikan juga untuk menghapus kemungkinan tujuan yang ada yang biasanya ditambahkan ke URL ketika Anda mengklik tombol edit untuk mengedit simpul yang ada.
Ganti article
di MYMODULE_form_article_node_form_alter
dengan jenis konten Anda nama mesin.
/**
* 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
yang destination
seharusnya untuk menangani kasus mengedit digunakan, tetapi mereka tidak memiliki efek pada saya situs Drupal 7.
Dokumentasi tidak terlalu jelas tentang itu, tetapi Anda harus memodifikasi $_GET['destination']
variabel, bukan $_REQUEST
atau $form_state['redirect']
.
di Drupal 7 Anda dapat mengubah bentuk edit simpul untuk 'melampirkan' fungsi kirim Anda sendiri, di mana Anda dapat mengubah form_state dari formulir konfirmasi penghapusan simpul untuk menyertakan parameter 'tujuan' ... lakukan saja ini dalam tema khusus i ' telah berkembang sebagai subtitle dari tema admin 'tujuh' ...
Dokumentasi untuk hook_form_FORM_ID_alter
Anda dapat menambahkan kait ini ke templat / tema, bukan hanya ke modul.
jadi di tema Anda template.php
, tambahkan formulir ini ubah pengait:
function yourtheme_node_delete_form_submit( &$form, &$form_state ) {
$form_state[ 'redirect' ][ 1 ][ 'query' ][ 'destination' ] = "admin/content";
}
dan kemudian, voila. tidak lagi dialihkan ke beranda setelah sebuah simpul dihapus.
Solusi dari sini 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,
);
}
?>