Хук order_calculate_discount добавление и удаление скидок
http://www.webasyst.ru/developers/docs/plugins/hooks/shop/order_calculate_discount/
хочу добавить всем покупателям скидку в 10р
привязал хук
'order_calculate_discount' => 'calculate_discount',
public function calculate_discount($params)
{
//print_r($params); // входящие параметры верны
$return['total']="10";
return $return; // размер скидки остался прежним
}
объясните подробней как дать скидку, а лучше как отменить уже данную на определенную группу товаров.
хочу добавить всем покупателям скидку в 10р
привязал хук
'order_calculate_discount' => 'calculate_discount',
public function calculate_discount($params)
{
//print_r($params); // входящие параметры верны
$return['total']="10";
return $return; // размер скидки остался прежним
}
объясните подробней как дать скидку, а лучше как отменить уже данную на определенную группу товаров.
4 ответа
$return['discount']=10.10;
$return['discount']=10;
$return = 10.10;
ничего не меняет. (сверху последний вариант из тестов)
$return = 10.10;
/webasyst/shop/?action=settings#/discounts/coupons/ не забудьте "Если к заказу применимо более одного правила, как должна рассчитываться скидка?" сумма.
а по поводу отмены отпределенной из скидок всеже прошу помощи?
Можно вернуть отрицательную скидку. Она будет работать как наценка, если в настройках указано использовать сумму применимых скидок, а не максимум. В принципе сработает, но лучше так не делать. Интуиция подсказывает, что очень легко наступить на какие-нибудь неочевидные грабли...
Отрицательная скидка не работает! shopDiscounts::calculate там условие в конце return min(max(0, $discount), ifset($order['total'], 0));