Делаю тему, написал так:
вызов вижу, написал так:
function mytheme_form_alter(&$form, &$form_state, $form_id) {
file_put_contents('__form', print_r($form, true));
}
file_put_contents('__form', print_r($form, true));
}
вызова нет. Подскажите почему? Я новенький в друпал, подскажите какой вообще алгоритм
чтобы тему делать? Тут есть вообще трассировка какая-то? Я придумал
file_put_contents('__form', print_r($form, true)); но может есть более правильный способ
двигаться вперед?
Комментарии
Вам нужно читать Ван Дюка http://www.amazon.com/o/ASIN/1430209895
Поищите ссылку - скачайте - прочитайте - и вы не будете задавать таких вопросов.
api.drupal.org - hook_form_alter
использую
http://api.drupal.ru/
http://drupal.org/node/92657
http://www.drupal.ru/
какие есть еще хорошие источники по друпалу? Дюка поищу сейчас... есть ли в .chm формате хорошая документация? Какие есть хорошие оффлайн доки?
Кто-что использует в работе?
Значит используете по принципу "смотрю в книгу вижу фигу" где написано что hook_form_alter можно вызывать в теме?
hook_form_alter вызывается только в модулях, но никак не в template.php, в template.php можно перекрывать только препроцессы и theme функции.
с Вашей второй ссылки инфа:
function YOURMODULENAME_form_alter($form_id, &$form) {} - это типа теста на внимательность.
Я прошу прощения, но хорошего руководства (все в одном) по друпал я не нашел, поэтому пришлось обратиться к сообществу...
Темы друпал выполняются похоже как и модули - логично было мне предположить что хуки можно равно использовать как в модулях так и в темах..
Как же тогда мне быть? Я пишу просто новую тему и мне нужно изменить "обертку" элементов формы? Для измеения форм в модулях есть hook_form_alter, а в теме как быть?
Создать служебный модуль и там писать хуки.
неудобно...
однако был приятно удивлен быстрой реакцией друпал гуру на мой вопрос.
Спасибо.
PS: Дюка качаю... посмотрим что там.
Да ладно, взять любой модуль , удалить все внутренности у *.module и написать там функцию и изменить имя в *.install . И потом юзать его в каждом проекте
так как вы описали породит еще кучу вопросов.
Во первых не инсталл а info. Юзать в каждом проекте абсолютно не обязательно поскольку Вы и сами не знаете какой будет следующий дизайн или проект.
Для большего понимая лучше создать и инфо файл и файл модуля самостоятельно.
Топик стартеру если лень юзать форм альтер и писать свои модули, то к сведению у большого количества форм друпала есть свои theme функции.
Да, попутал, info конечно, install необязателен.
[ru-api=theme_form_element]MYTHEME_form_element[/ru-api]?