Я пытаюсь изменить форму выписки в Drupal Commerce, чтобы потребовать, чтобы пользователь дважды вводил свой адрес электронной почты. Когда они отправляют свою форму, Drupal должен проверить, соответствуют ли письма, и называть form_set_error()
, если они этого не делают. На данный момент я просто пытаюсь подключить к форме специальную функцию проверки, которую я не могу заставить работать. (Мой модуль называется checkout_confirm_email. Этот модуль предназначен только для нашего использования, поэтому я не приложил много усилий к названию).
function checkout_confirm_email_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'commerce_checkout_form_checkout') {
$form['#validate'][] = 'checkout_confirm_email_form_validate';
dprint_r($form['#validate']);
dsm("I printed");
}
}
function checkout_confirm_email_form_validate($form, &$form_state) {
dsm("Never prints...");
}
Вывод состояния dprint_r
выводит Array ([0] => checkout_confirm_email_form_validate)
. Таким образом, эта функция является частью массива форм, но оператор dsm в функции проверки никогда не печатает.
Я действительно застрял на некоторое время. Я искал примеры, и я не вижу, что я делаю неправильно. Кто-нибудь?