Những gì tôi sẽ làm là lùi lại một bước và xem bạn thậm chí có đăng ký móc này không. Thường $form_id
là sự thay đổi.
Quá trình gỡ lỗi:
- Bật phát
- Chèn dsm ($ form_id) vào trong hook của bạn như bạn đã sử dụng với D6
- Xóa bộ nhớ ẩn của bạn đi
Mã ví dụ (bên trong mymodule.module
hoặc template.php
tệp) từ 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);
}
}
?>
Bạn sẽ thấy một loạt các id của biểu mẫu được in ra sau đó chọn móc biểu mẫu hiển thị của bạn và làm việc từ đó.
Ngoài ra, với drupal 7, bạn có thể nhắm mục tiêu các biểu mẫu cụ thể bằng ID trực tiếp .
Thí dụ:
<?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);
}
?>
Lưu ý rằng nếu bạn đang sử dụng nhiều biểu mẫu được hiển thị, bạn có thể kiểm tra chế độ xem cụ thể bằng cách kiểm tra $ form ['# id'] trong chức năng thay đổi biểu mẫu.
Cuối cùng, nếu điều đó không hiệu quả, tôi khuyên bạn nên xem lại hàng đợi vấn đề này:
Cách thay đổi bộ lọc trong bộ lọc tiếp xúc với máng form_alter hook