Подскажите, правильно ли я понял суть и некоторые моменты касательно template.php
1. Функция которую я перепишу в template.php в папку своей темы, перекроет эту функцию находящуюся в папке модуля.
Такой пример: я копирую function search_box из search.module в template.php, затем переименовываю ее в function phptemplate_search_box и затем вношу изменения уже тут, в template.php. Это верно?
2. Почему то не все, внесенные в template.php и затем измененные функции работают. Например я взял function search_box и что бы спрятать кнопку submit сделал так:
было: $form['basic']['inline']['submit'] = array('#type' => 'submit', '#value' => t('Search'));
сделал: $form['basic']['inline']['submit'] = array('#type' => 'submit', '#value' => t('Search'), '#attributes' => array('style' => 'display:none;'));
Но кнопка не исчезла.
Причем если вносить это изменение прямо в search.module то кнопка, как мне и нужно, исчезает.
Кеш делал.
3. В файле template.php нет закрывающей ?>, это нормально?
Комментарии
В шестом Друпале все несколько поменялось.
http://drupal.org/node/223463
Спасибо, а по русски негде почитать? Или вкратце может поясните. Вы или кто еще может?
это именно то что мне надо? или нет - http://drupaldance.com/blog/theming-drupal-form
озаглавленное: Темизация в Друпал6 оно?
и еще, что с:
3. В файле template.php нет закрывающей ?>, это нормально?
В файле template.php нет закрывающей ?>, это нормально?
Так и должно быть
Вы можете переопределять лишь theme_* функции из модулей, заменяя theme_ на phptemplate_ в названии функции, ну и сам код, естественно.
Спасибо всем, теперь понятно. Т.е.не theme_* функции можно только в модулях править?
Практически все (исключений пока не встречал) в друпале, что выводится как HTML в страницу проходит через функции theme_*, так что править код модулей почти нет необходимости.