/ / Prestashop dodaj produkt do koszyka ilość dziwna - php, model-widok-kontroler, moduł, prestashop, prestashop-1.6

Prestashop dodaj produkt do koszyka ilość dziwna - php, model-widok-kontroler, moduł, prestashop, prestashop-1.6

Próbuję programowo dodać produkt do koszyka PrestaShop. używam updateQty() wraz z ilością do aktualizacji i identyfikatorem produktu. Jednak po dodaniu produktu do koszyka automatycznie dodaje 10 produktów. Czy używam go w niewłaściwy sposób?

Używam actionCartSave hak w moim niestandardowym module.

Próbowałem tego:

public function hookActionCartSave($params){
$cart = $params["cart"];
$cart->updateQty(1, 408);
}

Odpowiedzi:

1 dla odpowiedzi № 1

The hookActionCartSave nazywane jest jeszcze raz naraz. Więc za każdym razem, gdy będzie to nazywane, zwiększysz o 1 ilość w koszyku tego produktu (w twoim przypadku o numerze 408), być może w twoim przypadku jest to nazywane 10 razy.

Aby odpowiedzieć na Twój problem, musimy sprawdzić, czy produkt jest już w koszyku, wypróbuj ten fragment:

public function hookActionCartSave($params)
{
$cart = $params["cart"]; // Get the cart object
if(Validate::isLoadedObject($cart)){ // Check if the cart is a valid object
if(!$cart->containsProduct(408)){ // Check if our product is already in cart
$cart->updateQty(1, 408); // Add our product to cart
}
}
}

Dostosowuje kod do swoich potrzeb;)