Erweiterte Versandkostenberechnung - gesammeltes Wissen

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?