Hallo! Bei einem Abverkaufsartikel wird der Artikel bei einer realen Bestellung genau dann deaktiviert, wenn alle Varianten einen Lagerbestand kleiner gleich 0 haben. Ist es möglich, dies auf Variantenbasis zu realisieren? D.h. wenn ein Artikel bestellt wurde, dass genau diese Variante dann deaktiviert wird, wenn der Lagerbestand kleiner gleich 0 ist? Vielen Dank und beste Grüße
ja, das ist möglich, aber nur über ein Plugin
Habe es inzwischen selbst hinbekommen durch ein kleines Plugin. Vielleicht hilft das dem einen oder anderen weiter: public function registerEvents() { $this-\>subscribeEvent( 'Shopware\_Modules\_Order\_SendMail\_BeforeSend', 'disableVariants' ); } public function disableVariants(Enlight\_Event\_EventArgs $args) { $article = Shopware()-\>Db()-\>fetchAll("SELECT \* FROM s\_order\_details WHERE ordernumber = ?", array($args-\>getSubject()-\>sOrderNumber)); foreach($article as $a) { $instock = Shopware()-\>Db()-\>fetchOne("SELECT instock FROM s\_articles\_details WHERE articleID = ? AND ordernumber = ?", array($a["articleID"], $a["articleordernumber"])); if($instock \<= 0) { Shopware()-\>Db()-\>query("UPDATE s\_articles\_details SET active = ? WHERE articleID = ? AND ordernumber = ?", array(0,$a["articleID"],$a["articleordernumber"])); } } }
die Frage ist: wenn Kunde A eine Variante schon im Warenkorb hat, ein anderer Kunde B das letzte Exemplar davon bestellt: kann Kunde A die Variante immer noch bestellen? Ich denke, ja Gruß
Hi, in Shopware 5 geht das dynamisch. Also ohne Plugin. Ist dort Abverkauf aktiv, so werden Variationen z.B. direkt ausgeblendet. Der Warenkorb wird generell vor dem Absenden überprüft. Sollte eine Variante vorher gerade verkauft worden sein, so kann der nächste düse nicht mehr kaufen. Auch wenn beide diese im Warenkorb hatten Sebastian
hey, Ihr habt ja richtig was geschafft mit V5 :thumbup:
so, bin jetzt auf Shopware 5, aber von Abverkauf auf Variantenebene sehe ich nix
Mal soll halt den Tag nicht vor dem Abend loben…