Apa yang akan saya lakukan adalah mengambil langkah mundur dan melihat apakah Anda bahkan mendaftarkan hook ini. Seringkali $form_id
berubah.
Proses debug:
- Aktifkan devel
- Masukkan dsm ($ form_id) di dalam hook Anda seperti yang Anda lakukan sebelumnya dengan D6
- Bersihkan cache Anda
Contoh kode (di dalam mymodule.module
atau template.php
file) dari drupal.org :
<?php
/**
* Implements hook_form_alter().
*/
function mymodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'form_views_exposed_form') {
drupal_set_message("Form ID is : " . $form_id);
}
}
?>
Anda akan melihat banyak id formulir yang dicetak lalu pilih tampilan Anda yang terkena hook formulir dan hasilkan dari sana.
Juga, dengan drupal 7 Anda dapat menargetkan formulir tertentu dengan ID secara langsung .
Contoh:
<?php
/**
* Implements hook_form_alter().
*/
function mymodule_form_views_exposed_form_alter(&$form, &$form_state, $form_id) {
drupal_set_message("Form ID is : " . $form_id);
}
?>
Perhatikan bahwa jika Anda menggunakan beberapa formulir yang terbuka, Anda dapat memeriksa tampilan tertentu dengan memeriksa $ form ['# id'] pada fungsi form change.
Akhirnya, jika itu tidak berhasil, saya akan merekomendasikan untuk meninjau antrian masalah ini:
Cara mengubah filter dalam bentuk filter terbuka melalui kait form_alter