it-swarm-id.com

Bagaimana saya bisa menemukan ID formulir formulir?

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';
  }
}
23
enchance

Coba cetak variabel formulir dengan PHP fungsi print_r .

function hook_form_alter(&$form, &$form_state, $form_id) {
  print_r($form);
}

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 Devel module . Anda bisa menggunakannya dengan cara yang sama seperti Anda menggunakan print_r.

17
Bart

Menemukan ID FORMULIR tanpa menginstal modul

Menemukan ID Formulir sangat mudahtidak perlu menginstal modul dan semuanya

LANGKAH 1: Buka Anda dari buka halaman editnya (ATAU periksa formulir Anda).

LANGKAH 2: jika a bentuk simpul cari "bentuk-simpul" di elemen periksa

Finding the form id periksa Anda berada di elemen form.

LANGKAH 3: lihat gambar terlampir disorot hija teks adalah ID dari formulir

LANGKAH 4: PENTING Akhirnya jika Anda ingin menggunakannya dalam hook_form_alter() ganti hypen dengan garis bawah

Sebagai contoh: yourform_id_with_content_type_name_form

Seperti bijaksana Anda dapat menemukan id dari bentuk apa pun di drupal yang harus Anda lakukan adalah memeriksa-> menemukan elemen formulir dan mencari atribut ID dan menggunakannya

Semoga bermanfaat :)

37
DEVARAJ JOHNSON

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.

11
JasmineM

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.

6
David L

Gunakan drupal_set_message() fungsi untuk menampilkan id formulir.

function hook_form_alter(&$form, $form_state, $form_id) {
drupal_set_message($form_id);
// other codes
}
4
Utsav Sinha

Gunakan modul Dapatkan ID Formulir untuk dengan mudah menemukan id formulir dari segala bentuk di Drupal.

Berikut ini kutipan dari halaman proyeknya:

Dengan mengarahkan kursor ke formulir apa pun, Anda akan melihat tautan kontekstual tersedia. Dengan memperluas tautan, Anda akan melihat formulir ID. Klik tautan dan Anda akan melihat jendela modal dengan id formulir yang dapat disalin dan hook_form_FORM_ID_alter () saran kait.

Modul ini sudah usang. Itu ditingkatkan, diperluas dan diganti nama menjadi Devel form debug ; gunakan saja.

Pengungkapan: Saya pengelola modul-modul ini.

4
Tim

Karena kode yang Anda laporkan sedang mencari bentuk ID dari bentuk simpul, ada dua kasus.

Drupal 6

Jika kode berusaha mengubah bentuk yang digunakan untuk mengatur pengaturan untuk tipe konten, maka harus menggunakan pernyataan-IF berikut.

if ($form_id == 'node_type_form' && isset($form['identity']['type'])) { /* … */ }

Jika kode berusaha mengubah bentuk edit simpul, maka kode tersebut harus menggunakan pernyataan-IF berikut.

if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }

Drupal 7 dan lebih tinggi

Dalam kasus pertama, pernyataan IF harus yang berikut:

if ($form_id == 'node_type_form') { /* … */ }

Dengan menggunakan pendekatan yang berbeda, seandainya mymodule adalah nama pendek modul Anda, Anda dapat menggunakan mymodule_form_node_type_form_alter(&$form, &$form_state, $form_id). Sejak Drupal 7, semua kait yang digunakan untuk mengubah formulir yang diimplementasikan oleh modul lain mendapat $form_id Sebagai parameter terakhir. Lihat hook_form_alter () , - hook_form_FORM_ID_alter () , hook_form_BASE_FORM_ID_alter () .

Dalam kasus kedua, pernyataan IF adalah sama dengan yang digunakan untuk Drupal 6.

if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] . '_node_form' == $form_id) { /* … */ }
3
kiamlaluno

Pertama instal Devel module . Kemudian buat modul seperti kode di bawah ini

function hook_form_alter(&$form, &$form_state, $form_id) {
  dpm($form);
}

Kemudian Anda dapat melihat SEMUA detail formulir, seperti ID formulir, nama bidang formulir, dll.

1
sokratis