Изменение форм генерируемых hook’ами.

Главные вкладки

Аватар пользователя mari0 mari0 1 июля 2008 в 20:45

Многие модули стандартной поставки, генерируют формы в хуках. К примеру hook_user.
А как получить доступ к этим формам не меняя кода самих модулей.
Толи я недопонял, что такое ID формы, толи к этим формам при помощи phptemlate_(id формы) не обратится.
Есть ли другой способ?
Спасибо.

Комментарии

Аватар пользователя axel axel 1 июля 2008 в 21:22

Так на то и хуки, чтобы вешать на них свои обработчики в своих модулях, не меняя код оригинального модуля. А доступ именно к формам можно получить через hook_form_alter().

Аватар пользователя mari0 mari0 1 июля 2008 в 23:54

Спасибо.
А для использования form_alter() обяхательно делать свой модуль, или м ожно как то использовать его в теме ?

Аватар пользователя mari0 mari0 2 июля 2008 в 4:25

В том то и дело что пробовал.
Из temlate.php не получилось.

Просто иногда изменения форм минимальны и делать подшивку в виде модуля как то неудобно.

Аватар пользователя olk olk 4 июля 2008 в 17:27

Если изменения минимальны и касаются только "представления", то достаточно обработки в теме, через theme_hook, engineTeme_hook (phptemplate_hook), hook.tpl.php,
если же изменения касаются самих данных (дополнительные поля, таблицы и т.п. и у этих данных нет "представлений" через theme (как например у view,cck), то нужен модуль.