Отмена создания заказа, показ сообщения
Добрый день. На сайте есть два типа пользователей, физ лица и юр лица. Юр лица не могут оформлять заказы в привычном виде, у них все только через запросы к менеджерам. А вот физ лица могут спокойно оформить заказ (выбрать товар, добавить его в корзину, оплатить). А так же любой неавторизованный пользователь тоже по умолчанию физ лицо. Но вот если пользователь уже зарегистрирован как юр лицо, но не авторизирован оформляет заказ со своим email — он должен получить ошибку, и заказ не должен создаться. Для этой цели я так понял можно использовать плагин, повесив его на событие msOnBeforeCreateOrder. Вопросов всего два, как из плагина добраться до переменных корзины? конкретно до поля email, и как остановить оформление заказа, с выдачей пользователю на jGrowl ошибки?
Спасибо!
Спасибо!
Комментарии: 1
К сожалению так и не смог разобраться. Если вдруг кто то столкнется с такой же проблемой — вот костыль:
в файле /core/components/minishop2/model/minishop2/msorderhandler.class.php
после:
в файле /core/components/minishop2/model/minishop2/msorderhandler.class.php
после:
$response = $this->ms2->invokeEvent('msOnBeforeCreateOrder', array(
'msOrder' => $order,
'order' => $this
));
добавляем: $user = $this->modx->getObject('modUser', $user_id);
$sellerss = in_array('Корпоративный пользователь', $user->getUserGroupNames());
if ($sellerss) {
return $this->error("Для оформления заказа как физическое лицо вам необходимо использовать другой E-Mail!");
}
И не забываем, что после обновления версии ms все это затрется.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.