Artikel als Versandkostenfrei markieren

Moin, wenn ein Artikel bestellt wird wo der  Haken bei „Artikel als Versandkostenfrei markieren“ gesetzt ist, aber noch ein anderer Artikel dazu bestellt wird wo dieser Haken nicht gesetzt ist (also mit Artikel mit Versandkosten), ist die komplette Bestellung trotzdem versandkostenfrei. Das ist doch nicht richtig oder? 

Beispiel Warenkorb:

1 Rad - 3,00 Euro Versandkosten

1 Radbefestigung - 0,00 Euro Versandkosten

Wird beides zusammen bestellt ist auch das Rad versandkostenfrei, kann ich das irgendwo einstellen und ändern? Danke!

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.

8 Likes

Wow, vielen Dank für die ausführliche Antwort und Anleitung. Werde ich gleich mal ausprobieren!

Hallo ihr Lieben,

ich habe das ebenfalls so umgesetzt. Funktioniert auch tadellos. Nur habe ich nun folgendes Phänomen entdeckt:

Unsere Kundengruppen enthalten einen Warenkorbrabatt. Wenn die versandkostenfreie Artikel im Warenkorb diesen Wert überschreiten, werden die Versandkosten wieder berechnet.

Beispiel:
Warenkorbrabatt = 500,-
Im Warenkorb liegt 1 x Artikel XY versandkostenfrei mit Einzelpreis = 200,-
Die Versandkosten sind = 0,-
Im Warenkorb liegt 3 x Artikel XY versandkostenfrei mit Einzelpreis = 200,-
Die Versandkosten sind = 5,95

Das passiert auch, wenn mehrere versandkostenfreie Artikel im Warenkorb liegen und den Warenkorbrabatt in der Summe übersteigen.

Warum?

Vielen Dank für eure Hilfe

1 Like

Die Antwort von sonic - perfekt!!! Danke dafür - funktioniert einwandfrei.

1 Like

Falls es jemandem hilft: Hier noch einmal eine Lösung, bei der die Versandkosten nach Gewicht berechnet werden.

Bei der Versandart, die nach Gewicht berechnet, muss die Staffelung bei >0 starten also z.B. „0,1“. Außerdem muss dort unter Erweiterte Einstellungen > Versandkostenfreie Artikel die Auswahl „Unterstützen, aber Versandkosten trotzdem berechnen“ gewählt werden.

Unter Grundeinstellungen > Versandkosten-Modul > Erweitere SQL-Abfrage ergänzt man „, SUM(IF(b.shippingfree=0, d.weight*b.quantity, 0)) as weight“ ergänzen. Das überschreibt die Gewichtsberechnung.

Wenn nun Artikel als versandkostenfrei markiert sind, sind sie für shopware so, als ob sie 0 KG schwer sind und werden deshalb bei der Versandkostenberechnung nicht berücksichtigt.

3 Likes

DANKE@torpedo‍ 

Unter Grundeinstellungen > Versandkosten-Modul > Erweitere SQL-Abfrage ergänzt man „, SUM(IF(b.shippingfree=0, d.weight*b.quantity, 0)) as weight“ ergänzen. Das überschreibt die Gewichtsberechnung.

Die wichtige Aussage, die mir weder Agentur, noch der Support gegeben hat.

[@Patrick Stahl](http://forum.shopware.com/profile/1869/Patrick Stahl „Patrick Stahl“)‍ vielleciht mal in die Dokumentation aufnehmen ?

DANKE

 

Hi @sonic‍ !

Dieser Thread hat mir wirklich sehr weitergeholfen und beide Wegen funktionieren, danke dafür! ABER jetzt ist mein Problem, dass die Versandberechnung nach Gewicht mit den Einstellungen oben kollidiert mit dem “Versandkostenfrei” Modus der Advanced Promotion Suite Frown

Das scheint für viele kein Problem zu sein, bei uns ist es leider recht gross und ich finde keinen Weg drum herum. Shopware hat ein Ticket erstellt fürs Backlog. ich wäre Euch also wirklich richtig dankbar, wenn Ihr kurz voten würdet!

Lieben Dank!!

@sonic schrieb:

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

keine weiteren komplexen Bedingungen dazu kommen, funktioniert das so.

Vielen Dank für die perfekte Lösung!!! Hat bestens funktioniert 

Ich bin mir nicht sicher was ich falsch mache oder ob ich das ganze einfach falsch verstehe.

Wenn ich einen Versandkostenfreien Artikel habe und einen Artikel der nach Warenwert berechnet wird, habe ich das Problem, dass der Versandkostenfreie Artikel im Warenwert dazu berechnet wird. Gibt es dazu auch eine Lösung?

Ich habe mal folgendes probiert, leider ohne Erfolg:
SUM(IF(b.shippingfree=0, b.price*b.quantity, 0)) as price

Kann keiner helfen? Ich bin etwas am verzweifeln…