Всем доброй ночи!
Цитата из брифа, заполненного Заказчиком, на разработку сайта:
"
1. Если человек выбрал товар на сумму меньше 500 руб. Должно всплывать окно о том, что 500 руб – минимальная сумма заказа. Или форма не давала ему заполнять поля со своими координатами. И эта фраза красным цветом выделялась.
2. Если человек обратился впервые и сумма его заказа меньше 3000 руб, он должен предоплатить пересылку согласно тарифу Почта России 300 руб.
Для предоплаты клиенту автоматически на электронку должен выставляться счет из корзины + стоимость доставки по России 300 руб ."
Сделать хочу на Drupal Commerce. До этого делал на нем только каталог с корзиной и стандартным чекаутом. В связи с этим вопрос:
1. Я так понимаю нужно такой чекаут нужно реализовывать через хуки самому? Т.е. через http://api.drupalcommerce.org/api/Drupal%20Commerce/sites%21all%21module...
Через Rules этого никак не сделать, верно?
2. Соответственно также как я понимаю весь процесс чекаута делается через создание панелей через хуки и на нужном шаге проверяется условие того, что у текущего пользователя еще нет Заказов в магазине и соответственно там же создается ссылка на формирование счета?
У меня в общем-то вопрос заключается в том, как в Drupal Commerce лучше реализовать такой чекаут? Заранее спасибо.
Комментарии
Все верно понимаете, самый верный способ - воспользоваться хуками, для первого пункта возможно надо на панель добавить свое уведомление и навесить валидацию на форму заказа, проверив суммарную стоимость товаров, а на второй пункт наверное надо добавлять line_item доставки товара в заказ при определенных условиях($total < 3000 и $user->uid == 0).
Спасибо!Буду пробовать)
По поводу минимальной суммы заказа оказывается есть модуль Commerce Minimum & Maximum Order Amount Commerce Minimum & Maximum Order Amount . С его помощью как раз задается диапазон минимальной и максимальной цены.
А для того что бы выставить минимум для определённой группы, в моём случаи это оптовики, я сделал следующие в конце файла commerce_moa.module
перед if ( $minimum_value > 0 && $total < $minimum_value) {
прописал проверку на роль
global $user;
$roles = $user->roles[3];
if ($roles == 'Оптовые клиенты'){
в итоге концовка файла у меня выглядит так
//
global $user;
$roles = $user->roles[3];
if ($roles == 'Оптовые клиенты'){
if ( $minimum_value > 0 && $total < $minimum_value) {
form_set_error('order', t('This store requires minimum order of %minimum_amount.', array('%minimum_amount' => $minimum_value_error)));
}
if ($maximum_value > 0 && $total > $maximum_value) {
form_set_error('order', t('This store requires maximum order of %maximum_amount.', array('%maximum_amount' => $maximum_value_error)));
}
}
}
Я установил модуль Commerce Minimum & Maximum Order Amount, но он не работает. Выставил минимальную и максимальную стоимость заказа, но заказ успешно оформляется при любой сумме. Где ещё можно посмотреть настройки?