2010-10-20 5 views
1

Есть ли трюк, аддон или патч, который позволяет мне узнать, какие модули altered - это специальная форма?Найти список модулей, которые «изменили» конкретную форму в Drupal

Список всех hook_form_alters не так уж и сложный. Но я хочу перечислить только те, которые фактически изменили мою форму.

Модули могут изменять форму через общий modulename_form_alter() и modulename_form_FORMID_alter() было бы здорово, если бы оба были приняты во внимание.

ответ

0

Функция drupal_prepare_form вызывает все функции hook_form_alter. В этой функции нет хранилища для любых модулей, которые реализуют hook_form_alter. Тем не менее, есть контейнер ($ data), который тянет все функции alter, а затем применяется с drupal_alter. Для получения этих данных потребуется изменить этот файл (ссылка: строка 543 в /includes/form.inc в Drupal 6.19).

+0

Я ткнул туда уже. Но $ data довольно «жидкий», поэтому сравнение одного $ data с другим $ data, чтобы найти, если форма была «изменена», не работает. Он (как-то) всегда возвращает TRUE: как-то $ data изменяется на каждой итерации здесь. – berkes