In Kategorie 11, 12 und 40 soll eine seperate Versandkostentabelle (1-Stück-Versand) laufen - aber nur wenn es nur ein Artikel im Warenkorb ist, in allen anderen Kategorien soll das nicht passieren und der standard Versand greifen.
Ich teile das hier mal ein bisschen auf
Einrichten des Zusätzlichen Versands
- Versandkosten Berechnen nach: Artikelanzahl
- Im unteren Bereich den Versand von einem Stück erstellen
- Zahlart, Länder, so wie benötigt
- Kategorien Sperren - könnte man einstellen, da wir aber später ausschließen in den Bedingungen ausschließen wollen, ist es besser, hier nichts zu tun
Kategorien: Versandkosten Modul / Erweitere SQL Abfrage
(SELECT categoryID FROM s_articles_categories WHERE articleID=a.id) as kategorie
Kategorien: Bedingung für 1-Stück-Versand
kategorie = 11 OR kategorie = 12 OR kategorie = 40
Artikelanzahl: Versandkosten Modul / Erweitere SQL Abfrage
(SELECT COUNT(sessionID) FROM s_order_basket WHERE sessionID = b.sessionID) as artikelanzahl
Artikelanzahl: Bedingung für 1-Stück-Versand
artikelanzahl = 1
BasketItem quantity: Versandkosten Modul / Erweitere SQL Abfrage
MIN(b.quantity) as anzahl
BasketItem quantity: Bedingung für 1-Stück-Versand
anzahl = 1
Gesamt: Bedingung für 1-Stück-Versand
artikelanzahl = 1 AND anzahl = 1 AND (kategorie = 11 OR kategorie = 12 OR kategorie = 40)
Jetzt wird bei den gewünschten Kategorien, und bei einer Gesamtartikelanzahl von 1 die bedingung mit ausgegeben. Es wird aber auch der andere Versand mit ausgegeben, aus Kundenfreundlichkeit, möchte ich aber immer den geringst möglichen Versand berechnen, und aus usability sicht, möchte ich nur eine der beiden Versandarten im Frontend anzeigen. Deshalb muss in der Standard Versandmethode auch noch ein kleiner Schnipsel in die Bedingung
Gesamt: Bedingung für Standard Versand
anzahl > 1 OR artikelanzahl > 1 AND (kategorie != 11 OR kategorie != 12 OR kategorie != 40)
Notiz am Rande
Nach dem ändern der Einstellungen im Versandkostenmodul sollte der Cache gelöscht werden!
Ich habe das mit meinen geringen SQL kenntnissen zusammengeschraubt dehalb habe ich eine kleine Frage, SUM() scheint ja in bedingungen nicht zu gehen, gibt es eine möglichkeit (anzahl + artikelanzahl - 1) zu rechnen?