Hallo Community,
ich bin neu hier und habe mal eine Frage ich bin dabei einen Shopware 5 Shop einzurichten und komme mit der Einstellung der Versandkosten nicht klar. Habe mir auch schon folgendes durchgelesen:
leider werde ich nicht schlau wie Ich eine Eigene Bedingung einbinde. Ich habe mir mit Attr5 Versandklassen für die Arikel erstellt diese sind aber “Text”. Nun habe Ich eine eigene Bedingung bei den Versandkosten hinterlegt z.B bei DHL:
attr5 =‘DHL’
leider werde ich aus der Dokumentation nicht schlau wie genau es bei den Versandkosten eingestellt werden muss. Gibt es da einen Trick oder geht es mit Textvariablen nicht.
schonmal vorab Danke für die Hilfe.
Hallo!
Die Bedingung definierst du dir nicht direkt in den eigenen Bedingungen der Versandart selbst, sondern musst dir die Bedingung als neue Variable im Versandkosten-Modul definieren.
Anschließend kannst du dann auf diese Variable in der eigenen Bedingung der Versandart zugreifen
Ich erkläre dir kurz wie genau das geht:
- Öffne im Backend die Grundeinstellung und öffne Storefront -> Versandkosten-Modul
- Im Feld “Erweiterte SQL-Abfrage” definierst du deine Variablen, auf die du dann in den eigenen Bedingungen für Versandarten später zugreifen kannst.
Dein Attribut ist - nehme ich mal an - am Artikel gepflegt (s_articles_attributes -> at). Du kannst nun folgende Variablen in der Erweiterten SQL-Abfrage kommasepariert ergänzen:
-
MAX(IF((at.attr5 = ‘DHL’), 1, 0)) AS has_article_with_dhl
Diese Variable gibt als Wahrheitswert an, ob im aktuellen Warenkorb mindestens ein Artikel enthalten ist für den attr5 = ‘DHL’ gilt
-
MIN(IF((at.attr5 = ‘DHL’), 1, 0)) AS has_only_articles_with_dhl
Diese Variable gibt als Wahrheitswert an, ob der aktuelle Warenkorb ausschließlich aus Artikeln besteht für die attr5 = ‘DHL’ gilt
- Durch die Ergänzung der erweiterten SQL-Abfrage sind diese Variablen anschließend für deine eigenen Bedingungen in den Versandarten verfügbar
- Beim Erstellen einer neuen Versandart kannst du nun unter “eigene Bedingung” die beiden Variablen verwenden. Trägst du dort beispielsweise has_only_articles_with_dhl ein, so greifen diese Versandkosten nur für Warenkörbe, die ausschließlich Artikel mit attr5 = ‘DHL’ enthalten. Anders herum kannst du die Variablen auch mit einem Ausrufezeichen negieren und als “eigene Bedingung” z.B. !has_article_with_dhl eintragen - dadurch greifen die Versandkosten nur für Warenkörbe, die keinen Artikel mit attr5 = ‘DHL’ enthalten.
Da ich für einen unserer Kunden solche Art von individuellen Versandkosten erstellt habe, bin ich auf dem Gebiet gut informiert
Ich hoffe ich konnte weiterhelfen
Grüße
Dennis
2 „Gefällt mir“
Hallo Dennis,
vielen Dank für Info. Habe folgendes in der SQL-Abfrage stehen:
MAX((IF(at.attr5 = ‚DHL‘)), 1, 0) AS has_article_with_dhl, MAX(IF((at.attr5 = ‚warensendung‘), 1, 0)) AS has_article_with_warensendung, MAX(IF((at.attr5 = ‚hermes‘), 1, 0)) AS has_article_with_hermes, MAX(IF((at.attr5 = ‚spedition‘), 1, 0)) AS has_article_with_spedition
und bei den Versandkosten die passende Variable zugewiesen:
has_article_with_warensendung
nur leider sagt mir der Shop jetzt folgendes:
Ups! Ein Fehler ist aufgetreten!
Wir wurden bereits über das Problem informiert und arbeiten an einer Lösung, bitte versuchen Sie es in Kürze erneut.
Habe ich da noch einen Fehler den ich nicht sehe?
Hallo,
so habe den fehler denke ich gefunden war eine Klammer falsch gesetzt.
Kann ich für eine Bedingung auch zwei verschiedene has_article_with_ Bedingungen setzten?
Thema abgeschlossen konnte alle Probleme jetzt lösen.
Falls sich jemand in den Thread verirrt oben die Info zu den Verandarten von Dennis funktioniert und kombinieren lässt sich das ganze in den Bedingungen im Versand durch den parameter: and
1 „Gefällt mir“