Ich suche momentan nach einer möglichkeit einen Artikel manuell in das shopping cart einzufügen. Gleichzeitig muss diesem artikel spezifisch für diesen Nutzer eine andere beschreibung im warenkorb angezeigt werden können, die dann beim einfügen festgelegt wird (Dasselbe Produkt soll auch mehrfach mit verschiedenen individuellen beschreibungen einfügbar sein). Das Produkt selbst sollte aber nicht in der Suche oder irgendeiner Kategorie auftauchen. Habe bisher hierfür leider vergeblich nach Ansätzen gesucht, deshalb wollte ich dies hier im Forum fragen ob vielleicht jemand Ideen für einen Ansatz hätte. Vielen Dank im Vorraus:)
Hi, das ist bei der aktuellen WK-Implementierung leider nicht ganz trivial, weil Shopware Artikel mit der selben Bestellnummer automatisch zusammen fasst. Die Logik, ob das passieren soll oder nicht, liegt hier: \sBasket::checkIfArticleIsInBasket. Da kommst du über das Event Shopware_Modules_Basket_AddArticle_CheckBasketForArticle ran - der übergebene „queryBuilder“ sollte dir erlauben, das Query in deinem Sinne zu modifizieren, die aktuelle ArtikelID und Artikel-Bestellnummer sind ja im QueryBuilder verfügbar. Dann musst du nur noch deine Beschreibung durchschleifen, etwa über ein Attribut oder die Session. Musst du mal testen, ob das keine Seiteneffekte gibt - das ist schon ein Verhalten, auf das sich vermutlich viele andere Pluginentwickler verlassen. Besten Gruß, Daniel
Ist es eventuell leichter so anzusetzen, eine neue Variante anzulegen und diese dann in den WK zu legen? dabei würde sich dann die Frage stellen wie ich etwas „manuell“ in den WK legen kann, da zuerst via JS daten an den Server gesendet werden sollen, die dann mit der Variante die in den WK gelegt wird, verknüpft werden. Wichtig auch hier wäre dass die Variante im shop so nicht sichbar ist, sondern quasi nur über diesen Prozess in den WK gelegt werden kann Vielen Dank im vorraus für Ansätze und Ansatzmöglichkeiten
Hi, ja, grundsätzlich wäre es auch denkbar, die Produkte / Varianten “on the fly” zu erzeugen und durch den WK-Prozess zu schleusen. Du kannst mit der Methode \sBasket::sAddArticle einen Artikel in den WK legen. Das “unsichtbar machen” kann ich mir für Suche und Listing auf die Schnelle durch eine Anpassung des SearchBundles vorstellen vgl. https://developers.shopware.com/develop … ch-bundle/ - da könnte man bspw. auf ein Attribut filtern. Wenn man die Artikel nach dem Bestellvorgang wieder entfernt, kann man sich das ggf. sogar sparen, musst du mal testen. Muss halt sicher gestellt sein, dass man sich die nicht irgendwie selbst in den WK schummeln kann Daniel
hi, ich mache das in einem Plugin genauso. Ich erstelle einen neuen Artikel mit den Individuellen Eigenschaften und schreibe ihn in eine separate Kategorie. Dass der Artikel nicht in der Suche und im Listing auftaucht erreiche ich, wie Daniel schrieb, durch Anpassen des SearchBundles. Der Artikel ist dann nur noch direkt aufrufbar. Hier gibt es einen Code dazu.