/ / Magento das gleiche Produkt mit vielen Mengen unterschiedlicher Größe einmal ändern - Magento

Magento das gleiche Produkt mit vielen Mengen unterschiedlicher Größe einmal ändern - Magento

Ich habe ein wenig Erfahrung in Magento. Alle meine Produkte haben benutzerdefinierte Größe in Option. Alle Produkte haben unterschiedliche Größen und unterschiedliche Preise.

Kunde fügt ein Produkt mit der Menge 5 in den Warenkorb ein. So werden 5 Produkte dieser Größe in den Warenkorb gelegt. Wenn der Kunde ein anderes Produkt mit anderer Größe hinzufügt, ändern sich alle Produkte im Warenkorb zu dieser Größe.

Wie kann ich dieses Verhalten verhindern?

Antworten:

0 für die Antwort № 1

Wenn Sie dies nicht programmatisch machen (dh den Code schreiben), gibt es keine Möglichkeit, dies zu tun.

Wenn Magento ein Produkt hinzufügt, sucht es zuerst im Angebot / Warenkorb nach, ob bereits ein Produkt existiert. Wenn man es tut, zieht es das ein und fügt die Menge hinzu. Es gibt keine Möglichkeit, dies auszuschalten.

Programmgesteuert fügen Sie einen Artikel sehr manuell einem Einkaufswagen hinzu. Das ist wie...

$cart = Mage::getSingleton("checkout/cart");

foreach ($products_to_add as $product_id => $custom_options) {
$product = Mage::getModel("catalog/product")->load($product_id);
$options = new Varien_Object(array("options" => $custom_options,
"qty" => 1));

// some products may result in multiple products getting added to cart
// I beleive this pulls them all and sets the custom options accordingly
$add_all = $product->getTypeInstance(true)
->prepareForCartAdvanced($options, $product, Mage_Catalog_Model_Product_Type_Abstract::PROCESS_MODE_FULL);

foreach ($add_all as $add_me) {
$item = Mage::getModel("sales/quote_item");
$item->setStoreId(Mage::app()->getStore()->getId());
$item->setOptions($add_me->getCustomOptions())
->setProduct($add_me);

$item->setQty(1);
$cart->getQuote()->addItem($item);
}
}

// when done adding all the items, finally call save on the cart
$cart->save();