versandkostenfrei - Bestimmte Artikel kostenlos mitversenden

Hallo Zusammen,

ich beiß mir gerade bei den Eigenen Bedingungen für die Versandkosten die Zähne aus. :frowning:

Hier mal mein Vorhaben:
Bei mir im Shop kann man bestimmte Geräte versandkostenfrei bestellen.
Mit der gleichen Bestellung kann man bestimmtes Zubehör auch versandkostenfrei dazu bestellen.

Wenn andere Artikel aus dem Shop im Warenkorb landen, dann sollen für die Bestellung ganz normal Versandkosten berechnet werden.

Das Gerät hat hat die Option “versandkostenfrei” im Artikelstamm aktiviert.

Für die Kennzeichnung der Zubehör-Artikel und des versandkostenfrei-Artikels habe ich ein Freitextfeld (attr34) im Artikelstamm angelegt - mit der Option Checkbox.

Nun habe ich mich erfolglos an einer “Erweiterte SQL-Abfrage” für das Versandkosten-Modul versucht.

Max(b.shippingfree) = 1 AS shipfree_cart

Hiermit wollte ich feststellen, ob es im Warenkorb einen Artikel gibt, bei dem “versandkostenfrei” im Artikelstamm aktiviert ist

Min(at.attr34='1') AS aktion_versand

Da sollte geprüft werden, ob NUR versandkostenfreie Artikel bzw. Zubehör-Artikel im Korb sind.

Dann wollte ich über die “Eigenen Bedingungen” die entsprechenden Versandarten aktivieren und deaktivieren.

Die normalen Standard-Versandkosten ohne versandkostenfreien Artikel UND ohne Zubehör hatte ich folgende Bedingung gegeben:

!shipfree_cart && !aktion_versand

Und für einen Warenkorb mit versandkostenfreien Artikel und Zubhör folgendes:

shipfree_cart && aktion_versand

Aber leider funktioniert dies irgendwie nicht und ist wohl noch ein Fehler drin.

Würde mich über einen Tipp freuen.

Bei Fragen einfach melden.

Viele Grüße

Daniel

Ich noch einmal :wink:

Ich bin auf der Suche nach einer Erweiterte SQL-Abfrage um zu ermitteln, ob sich 1 versandkostenfreier Artikel im Warenkorb findet.

Habe es damit versucht - klappte aber nicht wie gewünscht:

(SELECT MAX(shippingfree) FROM s_order_basket WHERE sessionID = b.sessionID AND modus=0) as allshippingfree

Ich suche eine Abfrage, die “allshippingfree” als true meldet, sobald ein versandkostenfreier Artikel im Warenkorb ist, da können dann auch noch andere nicht versandkostenfreie Artikel im Warenkorb sein -. dies ist egal. Sobald 1 freier Artikel im Warenkorb ist, brauch ich das Ergebnis = true.

Hat da Jemand eine Ahnung?

Danke & Gruß Daniel

Hallo!

 

Als zusätzliche Variablen für die erweiterte SQL-Abfrage sollte folgendes funktionieren:

 

Als Abfrage, ob es einen (oder mehrere) versandkostenfreie Artikel im Warenkorb gibt:

MAX(d.shippingfree) AS has_shippingfree

 

Als Abfrage, ob der Warenkorb nur aus versandkostenfreien Artikeln besteht:

MIN(d.shippingfree) AS has_only_shippingfree

Dabei steht ‘d’ als Abkürzung für die Tabelle s_articles_details in welcher man eine Spalte für die Versandkostenfreiheit findet.

Freundliche Grüße