Dengan menggunakan hook_form_alter
, bagaimana saya bisa mengarahkan pengguna ke halaman khusus setelah membuat atau mengedit simpul, bukan simpul yang dibuat atau diedit?
Kode saat ini hook_form_alter()
adalah sebagai berikut:
function custom_form_alter(&$form, &$form_state, $form_id) {
if ($form['#id'] == 'custom-node-form') {
$form['actions']['submit']['#value'] = t('Add Entry');
$form['field_custom_email']['und'][0]['value']['#element_validate'] = array('_custom_form_validate_email');
}
}
7
forms
redirection
Citricguy
sumber
sumber
Jawaban:
Kode mengarahkan ulang formulir secara independen dari tombol yang diklik untuk mengirimkan formulir. Jika Anda ingin mengarahkan ulang formulir hanya ketika tombol pengiriman tertentu diklik, maka Anda harus menggunakan kode berikut.
hook_form_FORM_ID_alter()
tidak benar-benar membutuhkannya, karena disebut untuk bentuk tertentu, sedangkan dua kait lainnya dipanggil untuk lebih dari satu bentuk.$form['#node']
, yang merupakan objek simpul untuk objek yang sedang diedit; "custom" adalah ID pendek untuk tipe konten yang ingin Anda redirect kepada pengguna begitu mereka mengedit sebuah node.$form_state['redirect']
darihook_form_alter()
tidak memiliki efek apa pun; itu perlu diatur dari penangan pengajuan.sumber
&
infunction custom_node_submit($form, &$form_state) {
sangat penting. Kalau tidak, Anda tidak melewati status sebagai referensi dan pengeditan yang Anda lakukan secara manual tidak akan berpengaruh.Kode ini berfungsi di situs Drupal 7.
sumber
admin/content
halaman: drupal.stackexchange.com/a/192271/15055 .Ini dapat dilakukan dengan mengatur
$form_state['redirect']
, misalnya menggunakan salah satu dari baris berikut.Argumen yang sama dengan yang akan Anda sampaikan
drupal_goto()
.sumber
$form_state['redirect']
akan ditimpa jika($node->nid)
dievaluasi menjadi BENAR.Tidak yakin apakah ini pilihan bagi Anda, tetapi jika ini adalah jenis konten, Anda bisa mencapainya dengan cukup cepat dengan menggunakan modul Aturan dengan menetapkan aturan yang akan dipicu saat pembaruan atau pembuatan jenis konten tertentu.
sumber