Що б я зробив - це зробити крок назад і побачити, чи ти навіть зареєструєш цей гачок. Часто відбувається $form_id
зміна.
Процес налагодження:
- Увімкніть devel
- Вставте dsm ($ form_id) всередину свого гака, як раніше, ніж у D6
- Очистіть кеш
Приклад коду (всередині mymodule.module
або template.php
файлу) від 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);
}
}
?>
Ви побачите купу роздрукованих ідентифікаторів форми, а потім виберіть свій погляд на гачок форми та працюйте звідти.
Крім того, з drupal 7 ви можете безпосередньо націлювати конкретні форми за ідентифікатором .
Приклад:
<?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);
}
?>
Зауважте, що якщо ви використовуєте кілька відкритих форм, ви можете перевірити конкретний вигляд, вивчивши $ form ['# id'] у функції зміни форми.
Нарешті, якщо це не працює, я рекомендую переглянути цю чергу черги:
Як змінити фільтр у відкритих фільтрах у формі через гачок form_alter