Optionswert zum Produkt hinzufügen, dann mit Magento in den Warenkorb legen

8

Ich habe eine Weile gesucht und nur Lösungen gefunden, die den Produkten in einem Magento-Shop ganz neue Optionssätze hinzugefügt haben.

Was ich erreichen möchte, ist eine Möglichkeit, ein einfaches Produkt in den Warenkorb zu legen. Dieses einfache Produkt hat einige vordefinierte benutzerdefinierte Optionen (freie Textfelder), die von einer PHP-Funktion gefüllt werden müssen.

Also, wie kann ich das tun? Angenommen, ich habe ein Produkt mit der ID "111" und einer benutzerdefinierten Option.

%Vor%

Vielen Dank im Voraus für alle Gedanken.

BTW: das Setzen von Optionswerten über QueryString ist relativ einfach, wie man hier sieht.

    
NiBa 25.01.2011, 12:29
quelle

4 Antworten

15

Sie legen die benutzerdefinierte Option nicht auf das Produktmodell fest, sondern übergeben es über das zweite Argument an $cart->addProduct($product, $params) .

Bei einem Projekt, für das eine externe App zum Hinzufügen zum Magento-Einkaufswagen erforderlich ist, müssen wir ein Array $params des folgenden Formats verwenden:

%Vor%

Das $params['options'] enthält die Informationen zu den benutzerdefinierten Optionen. Die Schlüssel sind die benutzerdefinierten Options-IDs, die Sie sehen können, wenn Sie den Abschnitt für benutzerdefinierte Optionen auf dem Produktbildschirm mit Firebug oder ähnlichem überprüfen.

Der $params['product'] könnte redundant sein, ich schrieb dieses Skript vor einiger Zeit für eine viel frühere Version von Magento.

Ich bin mir auch ziemlich sicher, dass die Standard zum Warenkorb hinzufügen -Ereignisse ausgelöst werden, wenn Sie diesen Weg hinzufügen, also müssen Sie sie selbst einstellen. Es kann Nebenwirkungen geben.

    
Nick 25.01.2011, 13:42
quelle
4

In Magento 1.7 müssen Sie das Array params in ein Varien-Objekt einfügen.

%Vor%     
Andre Aus B 24.10.2012 14:37
quelle
1

Sie sollten den Eingabeparameter für addproduct als das folgende Format schreiben, es wird von mir selbst getestet:

%Vor%     
heghogbbb 20.09.2012 03:17
quelle
0

Das Problem mit der aktuellen Antwort ist, dass Magento keine zweite Werbebuchung hinzufügt, wenn die SKU identisch ist, aber die Optionen sich von der ersten unterscheiden. Wenn Sie einen 3 "Apfel und einen 4" Apfel möchten, möchten Sie separate Werbebuchungen haben. Oder zumindest ich.

Ein HTTP-Aufruf an die folgende URL

%Vor%

gefolgt von

%Vor%

fügt zwei Werbebuchungen hinzu.

Aber das ist doch nur die halbe Miete, wofür stehen diese Optionscodes? Nun, der folgende PHP-Code wird es Ihnen sagen. Und da wir einen HTTP-Aufruf verwenden, gibt der Code JavaScript-fähigen JSON zurück.

%Vor%     
Arturo Hernandez 29.11.2011 21:04
quelle

Tags und Links