Минимальная сумма заказа в Drupal Commerce, выставление счета из корзины

Главные вкладки

Аватар пользователя kopernik21187 kopernik21187 29 сентября 2013 в 1:23

Всем доброй ночи!

Цитата из брифа, заполненного Заказчиком, на разработку сайта:
"
1. Если человек выбрал товар на сумму меньше 500 руб. Должно всплывать окно о том, что 500 руб – минимальная сумма заказа. Или форма не давала ему заполнять поля со своими координатами. И эта фраза красным цветом выделялась.
2. Если человек обратился впервые и сумма его заказа меньше 3000 руб, он должен предоплатить пересылку согласно тарифу Почта России 300 руб.
Для предоплаты клиенту автоматически на электронку должен выставляться счет из корзины + стоимость доставки по России 300 руб ."

Сделать хочу на Drupal Commerce. До этого делал на нем только каталог с корзиной и стандартным чекаутом. В связи с этим вопрос:
1. Я так понимаю нужно такой чекаут нужно реализовывать через хуки самому? Т.е. через http://api.drupalcommerce.org/api/Drupal%20Commerce/sites%21all%21module...
Через Rules этого никак не сделать, верно?
2. Соответственно также как я понимаю весь процесс чекаута делается через создание панелей через хуки и на нужном шаге проверяется условие того, что у текущего пользователя еще нет Заказов в магазине и соответственно там же создается ссылка на формирование счета?

У меня в общем-то вопрос заключается в том, как в Drupal Commerce лучше реализовать такой чекаут? Заранее спасибо.

Комментарии

Аватар пользователя gorr gorr 30 сентября 2013 в 18:44

Все верно понимаете, самый верный способ - воспользоваться хуками, для первого пункта возможно надо на панель добавить свое уведомление и навесить валидацию на форму заказа, проверив суммарную стоимость товаров, а на второй пункт наверное надо добавлять line_item доставки товара в заказ при определенных условиях($total < 3000 и $user->uid == 0).

Аватар пользователя ursen ursen 14 октября 2013 в 17:44

А для того что бы выставить минимум для определённой группы, в моём случаи это оптовики, я сделал следующие в конце файла 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)));
}
}

}

Аватар пользователя tomasdimm tomasdimm 27 февраля 2016 в 19:57

Я установил модуль Commerce Minimum & Maximum Order Amount, но он не работает. Выставил минимальную и максимальную стоимость заказа, но заказ успешно оформляется при любой сумме. Где ещё можно посмотреть настройки?