/ / Prestashop pridať výrobok do košíka neobvyklé množstvo - php, model-view-controller, modul, prestashop, prestashop-1.6

Prestashop pridať výrobok do košíka podivné množstvo - php, model-view-controller, modul, prestashop, prestashop-1.6

Pokúšam sa programovo pridať produkt do košíka PrestaShop. Používam updateQty() spolu s množstvom na aktualizáciu a ID produktu. Keď však produkt pridám do košíka, automaticky pridá 10 množstiev produktu. Používam to nesprávne?

Používam actionCartSave zaveste do môjho modulu.

Snažil som sa toto:

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

odpovede:

1 pre odpoveď č. 1

Na hookActionCartSave sa nazýva ešte raz naraz. Takže zakaždým, keď to bude len zvýšite 1 množstvo tohto produktu v košíku (v prípade ID 408), možno to je nazývané 10 krát vo vašom prípade.

Odpoveď na váš problém, musíme skontrolovať, či výrobok je už v košíku, skúste tento úryvok:

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
}
}
}

Prispôsobuje kód vašim potrebám ;)