Hinzufügen option Wert auf das Produkt, die dann in den Warenkorb mit Magento
Suchte ich eine Weile herum und kam nur bis wit Lösungen, die ganz neu hinzugekommen option setzt auf Produkte, die in einem Magento-Shop.
Was ich versuche zu erreichen, ist ein Weg, ein Einfaches Produkt in den Warenkorb gelegt. Dieses Einfache Produkt hat einige predifined benutzerdefinierte Optionen (frei-text-Felder), die gefüllt werden durch eine php-Funktion.
So, wie kann ich dies tun? Sagen wir mal ich habe ein Produkt mit der ID "111" und eine benutzerdefinierte option.
$qty = '1';
$product = Mage::getModel('catalog/product')->load("111");
//set option value in product model?
$cart = Mage::helper('checkout/cart')->getCart();
$cart->addProduct($product, $qty);
//set option value while passing product to car?
$cart->save();
Dank im Voraus für jede hinds.
BTW: die Einstellung option-Werte per QueryString ist relativ einfach, wie gesehen hier.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du nicht die option "Benutzerdefiniert" auf der Produkt-Modell, übergeben Sie es durch das zweite argument
$cart->addProduct($product, $params)
.Den set-up haben wir für ein Projekt, das verlangt, dass eine externe app hinzufügen, um den Magento Warenkorb ist die Verwendung eines
$params
array mit dem folgenden format:Den
$params['options']
enthält die benutzerdefinierte option Informationen. Die Schlüssel sind benutzerdefinierte option-ids, du kannst Sie sehen, wenn Sie überprüfen den benutzerdefinierten Optionen-Abschnitt der Produkt-Bildschirm mit Firebug oder ähnliches.Den
$params['product']
möglicherweise redundant ist, schrieb ich dieses Skript vor einer Weile für eine viel ältere version von Magento.Außerdem bin ich ziemlich sicher, dass die standard - zum Warenkorb hinzufügen Ereignisse werden ausgelöst, wenn Sie hinzufügen, auf diese Weise, so müssen Sie, um Sie aus sich selbst. Es kann zu Nebenwirkungen kommen kann.
In Magento 1.7 haben Sie, um wickeln Sie die params-array in einer Varien Objekt.
Schreiben Sie die input-parameter für
addproduct
als das folgende format, es ist getestet von mir selbst:Das problem mit der aktuellen Antwort ist, dass magento nicht fügen Sie eine zweite Zeile ein Element, wenn die SKU ist die gleiche, aber die Optionen sind deutlich von der ersten. Wenn Sie möchten, eine 3" Apfel und ein 4" von apple, die Sie haben möchten separaten Positionen. Oder zumindest ich.
Einen HTTP-Aufruf der folgenden URL
gefolgt von
werde zwei Einzelposten.
Aber noch ist dies nur die Hälfte der Schlacht, was diese option codes stehen?? Auch der folgende PHP-code wird Ihnen sagen. Und da sind wir mit einer HTTP-Aufruf wird der code return javascript JSON bereit.