Нигде не нашёл способа реализовать опциональный ввод e-mail адреса при оформлении заказа в Drupal Commerce. Пришлось делать самому:
1. Добавляем в свой модуль или template.php:
/**
* Implements hook_form_FORM_ID_alter(): commerce_checkout_form_checkout.
*/
function MODULENAME_form_commerce_checkout_form_checkout_alter(&$form, &$form_state) {
if (isset($form['account']['login']['mail'])) {
$form['account']['login']['mail']['#required'] = FALSE;
}
}
2. В рулсе Send an order notification e-mail (admin/commerce/config/checkout/rules/manage/commerce_checkout_order_email
) добавляем условие Data value is empty:
Profit:
Написанное актуально для
Commerce 1.x
Похожие записи
- Зависимый checkout pane с обязательными полями на #states
- Переместить поле E-mail в существующий checkout pane
- Добавить виджет поля заказа в существующий checkout pane
- Дополнительные поля в форме оформления заказа Drupal Commerce
- Переместить описание выбранного метода оплаты под соответствующий input
Комментарии
Умно! Долго искал в интернете и сам ломал голову над этим вопросом. Но ничего толкового так и не придумал. (наверное просто не каждому дано) Спасибо за помощь!
А я вот ни как не мог свою валидацию прикрутить, потом нашел это:
И ссылку почему так
Теперь вот ломаю голову как добавить своё значение (переопределить) или заполнить если пуст email -
Так работает:
А для Ubercart есть решение
Добавить комментарий