Ubercart checkout: при нажатии, чтобы просмотреть заказ, сделайте некоторую дополнительную проверку - PullRequest
1 голос
/ 13 октября 2011

Когда пользователь переходит к оформлению заказа и нажимает «обзор», я хотел бы иметь возможность подключиться к этому процессу, чтобы выполнить некоторую пользовательскую проверку.

Как бы я поступил так?

1 Ответ

2 голосов
/ 13 октября 2011

Если вы хотите добавить поля в форму, вам нужно реализовать собственную панель оформления заказа (см. эту страницу для хорошего примера).

Если вы просто хотите добавить дополнительную проверку, вы можете сделать это в пользовательском модуле, добавив hook_form_FORM_ID_alter :

function mymodule_form_uc_cart_checkout_form_alter(&$form, &$form_state) {
  $form['#validate'][] = 'mymodule_checkout_form_validate';
}

function mymodule_checkout_form_validate(&$form, &$form_state) {
  if ($form_state['values']['something'] != 'something else') {
    form_set_error('something', 'Something went wrong.');
  }
}
...