Prestashop корзина сохранить не работает

Я имею дело с проблемой, мне нужно сменить перевозчика, если сумма в корзине> 500, поэтому я перехватываю actionCartSave и проверяю сумму, но когда делаю

$cart->id_carrier=(int)$carrier_id;
$cart->update();

Ajax перестает отвечать, нужно перезагрузить страницу, чтобы увидеть, был ли продукт добавлен в корзину, но если я удалю $cart->update() , перевозчик не обновляется. Как я могу решить это?

1

Решение

Может быть, вы работаете в петле. когда ты звонишь update, крюк actionCartSave снова вызывается.
Что вам нужно сделать, так это избегать обновления корзины, если она совпадает с вашим результатом

if ((int)$cart->id_carrier !== (int)$carrier_id) {
$cart->id_carrier = (int)$carrier_id;
$cart->update();
}

Таким образом, вы избежите бесконечного цикла
Другое (лучшее) решение будет использовать $cart->save(); потому что это не вызывает actionCartSave

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]