/ / Prestashop Produkt zu Einkaufswagen hinzufügen seltsame menge - php, model-view-controller, modul, prestashop, prestashop-1.6

Prestashop Produkt zu Warenkorb hinzufügen seltsame menge - php, model-view-controller, modul, prestashop, prestashop-1.6

Ich versuche ein Produkt PrestaShop Warenkorb programmgesteuert hinzuzufügen. Ich verwende das updateQty() zusammen mit der Menge zu aktualisieren und die Produkt-ID. Wenn ich jedoch das Produkt in den Warenkorb lege, werden automatisch 10 Produktmengen hinzugefügt. Verwende ich es falsch herum?

Ich benutze die actionCartSave hook in mein benutzerdefiniertes Modul.

Ich habe das versucht:

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

Antworten:

1 für die Antwort № 1

Das hookActionCartSave wird noch einmal auf einmal aufgerufen. Jedes Mal, wenn es aufgerufen wird, erhöht sich die Menge im Einkaufswagen dieses Produkts (in Ihrem Fall mit ID 408), vielleicht wird es in Ihrem Fall zehn Mal aufgerufen.

Um auf Ihr Problem zu antworten, müssen wir prüfen, ob das Produkt bereits im Warenkorb ist, probieren Sie dieses Snippet aus:

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

Passt den Code an Ihre Bedürfnisse an;)