ВопросТемизация webform и ubercart

Вопрос собственно в следующем, почему некоторые хуки отказываются работать или работают некоректно в этих модулях?
Например, темизирую кнопку "в корзину" на странице товара, так работает:

function my_hook_form_uc_product_add_to_cart_form_alter(&$form, &$form_state) {  
 $form['actions']['submit']['#type']='image_button';    
 $form['actions']['submit']['#src']=path_to_theme() . '/images/add_to_cart.gif';  
}

а так нет:

function my_hook_form_alter(&$form, &$form_state, $form_id) {
 if ('form_uc_product_add_to_cart' == $form_id) {
   $form['actions']['submit']['#type']='image_button';    
   $form['actions']['submit']['#src']=path_to_theme() . '/images/add_to_cart.gif';  
 }
}

И есть ли в Интернете ПОНЯТНАЯ (русскоязычная) и ПОЛНАЯ информация по темизации webform и ubercart, только не через css, а именно нормальная друпаловская темизация???

P.S. не отправляйте к поисковикам! Поверьте, пересмотрел всё! Интересуют материалы, соответствующие критериям поиска!

Комментарии

Аватар пользователя AK47
AK47 написал:

Посмотрите что у вас записано в $form_id. Насколько я помню id формы должно быть похоже на такое : uc_product_add_to_cart_form, соответственно проверка не выполняется, и код в ней тоже.

17.04.2012 16:14
Аватар пользователя lukas
lukas написал:

да нет, ведь что есть есть form_id хорошо видно из первого хука!

17.04.2012 21:57
Аватар пользователя AK47
AK47 написал:

Смотрим документацию по hook_form_alter:
ссылка
Как называется Ваш модуль ? my_hook_form или my_hook ?
Пишем:

function НАЗВАНИЕ_МОДУЛЯ_form_alter (&$form, &$form_state, $form_id) {
  drupal_set_message($form_id);
}

Открываем страницу с товаром, и смотрим id нужной нам формы (в page.tpl.php обязательно должна быть переменная print $messages;)
Дерзайте :)

17.04.2012 23:27
Аватар пользователя lukas
lukas написал:

модуль my_hook

17.04.2012 23:30
Аватар пользователя Spleshka
Spleshka написал:

С таким модулем могут возникнуть неприятные моменты в разработке. Лучше переименуйте его во что-нибудь более нейтральное или осмысленное.

24.04.2012 14:17
Аватар пользователя lukassss
lukassss написал:

да переименовывал - не в этом дело!

24.04.2012 16:39
Аватар пользователя Spleshka
Spleshka написал:

$form_id должно быть равно uc_product_add_to_cart_form. Ведь вы использовали вначале hook_form_FORM_ID_alter(), а это значит, что вам из my_hook_form_uc_product_add_to_cart_form_alter() надо убрать спереди my_hook_form_ и _alter() сзади, и вы получите свой $form_id.

26.04.2012 00:45
Аватар пользователя lukasss
lukasss написал:

а у меня разве не так?

26.04.2012 08:39
Аватар пользователя Spleshka
Spleshka написал:

Нет. Посмотрите на то, что вы писали:

 if ('form_uc_product_add_to_cart' == $form_id) {

а надо

 if ('uc_product_add_to_cart_form' == $form_id) {
26.04.2012 10:36
Аватар пользователя Андромеда
Андромеда написал:

Всем привет!
Подскажите, пож, как можно темизировать именно столбцы на странице /cart ?
К примеру, передвинуть столбец Удалить в конец таблицы, вывести вместо картинок товаров их названия...
Спасибо

19.07.2012 11:18

Комментировать