[msPromoCode] 1.3.3 - Кастомизация скидки товара плагином


В новой версии пакета через плагины можно кастомизировать скидку на товары, которые применены к промо-коду. Если на примерах, то через события mspcOnBeforeSetProductDiscount и mspcOnSetProductDiscount можно:

  • Увеличивать/применять скидку на товар в зависимости от кол-ва единиц товара в корзине,
  • Давать скидку только на конкретную опцию товара, например на рубашку размера XXL,
  • Получить итоговую стоимость товара, за вычетом скидки, равной скидке за одну единицу, вне зависимости от кол-ва единиц данной позиции в корзине,
  • И много чего ещё, на что хватит вашей фантазии!

Событие mspcOnBeforeSetProductDiscount


Информация по событию доступна в документации.

Событие mspcOnSetProductDiscount


Информация по событию доступна в документации.
Павел Гвоздь
15 декабря 2016, 21:56
modx.pro
6
1 992
+14
Поблагодарить автора Отправить деньги

Комментарии: 3

mngatoff
19 ноября 2018, 01:14
0
пишу плагин, чтобы разрешить скидку только на товары определенного бренда:
<?php
$sp = &$scriptProperties;
switch ($modx->event->name) {
    case "mspcOnBeforeSetProductDiscount":
    	if (strtolower($sp['coupon']['code']) == 'hotdays') {
	    	$product = $modx->getObject('msProduct', $sp['product']['id']);
			if ($product->get('vendor') != 9) {
	            $sp['discount'] = 0;
			}	
    	}
        break;
}
$modx->event->returnedValues = $sp;
на фронте, если товар другого бренда, скидка не срабатывает, но все равно приходит сообщение, что промокод применен. А как написать, что недействителен?
    Павел Гвоздь
    19 ноября 2018, 07:17
    +1
    В своём плагине ты не отменяешь промо-код, а ставишь нулевую скидку. Вот здесь почитай, как отменять действие промо-кода плагином.
      mngatoff
      19 ноября 2018, 07:33
      0
      спасибо!
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3