темизация страницы /cart ubercart-7.x-3.0

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

Аватар пользователя vlucas vlucas 31 марта 2012 в 9:06

Тимизирую страницу корзины cart. Хочу изменить вид кнопки "оформить заказ" В template.php пишу хук форм алерт для темизации форм:

<?php
function it_form_uc_cart_view_form_alter(&$form, &$form_state) {
 
$form['actions']['checkout']['#type']='image_button';    
 
$form['actions']['checkout']['#src']=path_to_theme() . '/images/checkout_cart_image_button.png';
}
?>

В итоге получаю то что хочу визуально )), т.е. кнопка стала image_button, но теперь она не работает, т.е. при нажатии на неё просто обновляется страница, а редиректа на страницу оформления заказа нет.

Посмотрел в код. У кнопки поменялся id и name Прописываю и их в хук, но увы не помогает.

Товарищи, что я делаю не так?

Комментарии

Аватар пользователя aRpi aRpi 1 апреля 2012 в 19:32

В template.php

<?php
function имятемы_form_alter(&$form$form_state$form_id) {
    if(
$form_id == 'uc_cart_view_form'){
        
$form['actions']['checkout']['#type']='image_button';    
        
$form['actions']['checkout']['#src'] = path_to_theme().'/acar_adde_ins.png';
    }    
}
?>

Все работает...

Аватар пользователя vlucas vlucas 1 апреля 2012 в 21:32

aRpi wrote:
В template.php

<?php
function имятемы_form_alter(&$form$form_state$form_id) {
    if(
$form_id == 'uc_cart_view_form'){
        
$form['actions']['checkout']['#type']='image_button';    
        
$form['actions']['checkout']['#src'] = path_to_theme().'/acar_adde_ins.png';
    }    
}
?>

Все работает...

Так у меня тоже самое! Только у меня хук для конкретной формы по id формы ))) У меня кнопка визуально изменяется! Но функционально перестаёт нормально работать!

Аватар пользователя sg85 sg85 17 апреля 2012 в 8:55

Темизировал как-то через hook_tapir_table_alter на 6 - в итоге отвалилось половина функционала формы))) Пришлось писать свой модуль корзины полностью.

mamba, расскажите по подробнее, если можно, стоит на 6рке uc_ajax_cart, однако /cart один черт идет от модуля uc_cart(чтоб он провалился).

И по делу, если нужно вместо кнопки картинку, разве нельзя это сделать через CSS?

Аватар пользователя mamba mamba 17 апреля 2012 в 10:20

Там просто в настройках блоков надо его поставить в нужное место. Блок "Ajax shopping cart".
Соответственно блок "Корзина для покупок" выключить.

Аватар пользователя vlucas vlucas 17 апреля 2012 в 9:09

"sg85" wrote:
И по делу, если нужно вместо кнопки картинку, разве нельзя это сделать через CSS?

Через css не хочу принципиально! Хочу именно понять как правильно сделать хуками!

Аватар пользователя sg85 sg85 17 апреля 2012 в 10:45

С блоками проблем нет, проблемы именно с самой формой по адресу /cart, в Ubercart2 темизация этой ... через hook_tapir_table_alter, при чем заголовок темизируется отдельно, а в 3м хз) можно в исходниках глянуть.