Как переопределить функцию модуля в своем шаблоне?

14 марта 2012 в 19:53
Аватар пользователя Rooner Rooner 0 6

Вобщем стоит Drupal+Ubercart я внес изменения в сам модуль Ubercarta, а именно в функцию "theme_uc_cart_checkout_form", которая лежит в sites\all\modules\ubercart\uc_cart\uc_cart.pages.inc, т.е. я просто изменил эту функцию. Но это же не правильно. Когда модуль обновится он может перезаписать этот файл и будет полный... ну вы поняли) Короче можно както переопределить эту функцию? Если хуком, то каким?

Комментарии

В template.php вашей темы, делаете функцию названиевашейтемы_uc_cart_checkout_form(), копируете туда ваш измененный код.
А вообще почитайте про темизацию - полезно.

15 марта 2012 в 0:27

"bsyomov" wrote:
В template.php вашей темы, делаете функцию названиевашейтемы_uc_cart_checkout_form(), копируете туда ваш измененный код.

Спасибо, то что нужно.

15 марта 2012 в 11:12

Получается переопределять только Функции из модуля, которые начинаются на theme_название_функции. Как переопределить в своем шаблоне функцию:
function uc_cart_view_form($form_state, $items = NULL)

function названиетемы_uc_cart_view_form($form_state, $items = NULL) - не переопределяется(

20 марта 2012 в 14:55

Формы переопределяются через hook_form_alter(), и делается это обычно не на уровне темизации, а в своём модуле.
Можно конечно делать это через preprocess функции, но лучше разделять изменение форм(функционала) и темизацию - изменение внешнего вида.

20 марта 2012 в 16:39