Ubercart. Изменить кнопку Checkout на странице корзины

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

Аватар пользователя ygerasimov@drupal.org ygerasimov@drup... 7 сентября 2009 в 10:57

добрый день!

задача состоит в том, чтоб изменить вид кнопки Checkout на странице корзины (/cart). я хочу из элемента сделать элемент ... изза того, что нужно в кнопке разместить картинку.

я пробую в функции theme_uc_cart_view_form менять свойства формы (элемент $form['checkout']) менять #type на 'button' но это не помогло.

может кто сталкивался с этой проблемой, пожалуйста проконсультируйте.

еще один вопрос вдогонку: на этой странице получается есть две кнопки checkout и update. Как друпал понимает, что при нажатии update форма перенаправляется на страницу /cart, а при нажатии на checkout на страницу /cart/checkout.

так же я пробовал изменить надпись на кнопке checkout ($form['checkout']['#value'] = 'Оформить заказ'), но это привело к тому, что кнопка вообще перестала работать. интересно почему?

спасибо за помощь.

Комментарии

Аватар пользователя glu2006 glu2006 7 сентября 2009 в 12:24

По двум кнопкам расскажу. На событии submit стоит оператор switch который и разруливает какая кнопка нажата -> и то что после переименования кнопки она перестала работать вы не попадаете ни в один из case-ов.
А вот поменять кнопку на картинку вполне возможно и исполнимо, видимо что-то не так делаете. Попробуйте поменять ее не в theme функции а на form_alter.

Аватар пользователя ygerasimov@drupal.org ygerasimov@drup... 8 сентября 2009 в 10:15

попробовал форму менять через form_alter. эффект тот же.

решил проблему через скрытие (через css) стандартной кнопки checkout и добавлением новой кнопки через элемент:

$form['checkout2']['#value'] = '
      <button value="Checkout" name="op" type="submit">
      Оформить заказ
      <img height="17" width="21" alt="" src="images/arrow_btn.gif"/>
      </button>'
;
Аватар пользователя glu2006 glu2006 8 сентября 2009 в 11:03

А type="image" вместо "button" вы пробовали? если мне не изменяет память то должно помочь
в 5-ке надо было еще что-то допиливать а в 6-ке точно должно работать.