Hatte ich kürzlich auch einrichten müssen, suche via Google (auch im Forum) hat mir weiter geholfen, steht so aber auch tief vergraben in der Doku.
Du brauchst zwei Versandarten - also Standardversand und Versankostenfrei.
Zunächst gehst Du nach „Einstellungen“ => „Storefront“ => „Versandkostenmodul“.
Dort findest Du „Erweiterte SQL-Abfrage“. Das Feld ergänzt Du mit , MIN(d.shippingfree) = 1 as allshippingfree
(nicht das Komma vergessen)
Nun gehst Du in die Einstellungen für den Standardversand - dort auf das Tab „Erweiterte Einstellungen“.
Dort setzt Du das Feld „Versandkostenfreie Artikel“ auf „Unterstützen, aber Versandkosten trotzdem berechnen“
Und trägst in das Feld „Eigene Bedingungen“ !allshippingfree ein.
Dann für die Versandart „Versankostenfrei“ die gleichen Felder: „unterstützen“ und allshippingfree
Die SQL-Abfrage ermittel, ob alle Positionen Versandkostenfrei sind, entsprechend wird allshippingfree auf wahr/falsch (1/0) gesetzt. Es wird der kleinste Wert geliefert, haben also alle Artikel den Haken, ist es „1“, ist eine Position dabei, die nicht Versandkostenfrei ist, der kleinste Wert von d.shippingfree = 0, und damit allshippingfree auch 0.
Wenn also alle Positionen Versandkostenfrei sind, wird Standardversand nicht ausgefüht, dafür Versandkostenfrei - und umgekehrt
Wenn keine weiteren komplexen Bedingungen dazu kommen, funktioniert das so.