Bagaimana saya mendapatkan id formulir dari formulir saya? Saya baru saja mulai membuat modul saya dan saya terhenti. Saya mendapat kode ini dari orang lain dan saya mencoba untuk menyesuaikannya:
function hook_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'the form id for the node form') {
$form['#submit'][] = 'my_custom_submit_handler';
}
}
hook_form_alter()
. Mengingat juga kode yang dilaporkan, saya akan mengatakan pertanyaan ini berbeda.Jawaban:
Coba cetak variabel bentuk dengan fungsi PHP print_r .
Saat Anda mengunjungi halaman tempat formulir aktif, variabel (dan nama) akan ditampilkan.
Cara yang lebih mudah untuk mengakses (atau lebih tepatnya melihat) informasi akan menggunakan fungsi dpm () yang disediakan oleh modul Devel . Anda bisa menggunakannya dengan cara yang sama seperti Anda menggunakan print_r.
sumber
$form
variabel.dpm($form_id);
Menemukan ID FORMULIR tanpa menginstal modul
Menemukan Formulir ID sangat mudah, tidak perlu menginstal modul dan semua
LANGKAH 1: Buka Anda dari buka halaman editnya (ATAU periksa formulir Anda).
LANGKAH 2: jika bentuk simpulnya temukan " simpul-bentuk " di elemen periksa
periksa Anda di elemen formulir .
LANGKAH 3: lihat gambar terlampir, teks hijau yang disorot adalah ID formulir
LANGKAH 4: PENTING Akhirnya jika Anda ingin menggunakannya dalam
hook_form_alter()
mengganti tanda hubung dengan garis bawahSebagai contoh:
yourform_id_with_content_type_name_form
Seperti bijaksana Anda dapat menemukan id dari segala bentuk di drupal yang harus Anda lakukan adalah memeriksa-> menemukan elemen formulir dan mencari atribut ID dan menggunakannya
Semoga bermanfaat :)
sumber
name
atributnya memiliki nilai "form_id". 2) Lihatlahvalue
atribut elemen input - nilai atribut adalah ID bentuk yang diinginkan. Contoh: Formulir komentar pada simpul cerita memiliki ID bentuk "comment_comment_node_story_form". Jika suka, Anda dapat memasukkan informasi baru ini dalam jawaban Anda.Jika formulir web Anda berada di "www.mydomain.com/node/351" maka ID formulir Anda akan "webform_client_form_351". Jadi, apa pun nid Anda - itulah ID formulir Anda.
sumber
Jika Anda tahu di mana kode itu menentukan bentuk yang ingin Anda ubah, lihat di sana. Form id hanyalah nama fungsi yang mendefinisikan form itu.
Sebagai contoh, Views mendefinisikan fungsi views_ui_edit_view_form pada baris 875 view / include / admin.inc. Filter Hierarchical Select views mencari id formulir itu di baris 50 dari hierarchical_select / modules / hs_taxonomy_views.module dalam fungsi hood_form_alter.
sumber
Gunakan
drupal_set_message()
fungsi untuk menampilkan id formulir.sumber
Gunakan modul Dapatkan Formulir ID untuk dengan mudah menemukan id formulir dari segala bentuk di Drupal.
Berikut ini kutipan dari halaman proyeknya:
Pengungkapan: Saya pengelola modul-modul ini.
sumber
Karena kode yang Anda laporkan sedang mencari bentuk ID dari bentuk simpul, ada dua kasus.
Drupal 6
Jika kode mencoba mengubah bentuk yang digunakan untuk mengatur pengaturan untuk tipe konten, maka harus menggunakan pernyataan-IF berikut.
Jika kode berusaha mengubah bentuk edit simpul, maka kode tersebut harus menggunakan pernyataan-IF berikut.
Drupal 7 dan lebih tinggi
Dalam kasus pertama, pernyataan IF harus yang berikut:
Dengan menggunakan pendekatan yang berbeda, seandainya mymodule adalah nama pendek modul Anda, Anda dapat menggunakannya
mymodule_form_node_type_form_alter(&$form, &$form_state, $form_id)
. Sejak Drupal 7, semua kait yang digunakan untuk mengubah formulir yang diterapkan oleh modul lain menjadi$form_id
parameter terakhir. Lihat hook_form_alter () , hook_form_FORM_ID_alter () , hook_form_BASE_FORM_ID_alter () .Dalam kasus kedua, pernyataan IF adalah sama digunakan untuk Drupal 6.
sumber
Pertama instal modul Devel. Lalu buat modul seperti kode di bawah ini
Kemudian Anda dapat melihat SEMUA detail formulir, seperti ID formulir, nama bidang formulir, dll.
sumber