werkzeugdiscount24werkzeugdiscount24 MemberComments: 28 Received thanks: 1 Member since: February 12

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:

https://docs.shopware.com/de/shopware-5-de/versand-und-zahlungsarten/individuelle-versandkosten?_ga=2.7767602.1800263243.1549869416-565943723.1548659270

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.

Answers

  • DenKon26DenKon26 MemberComments: 74 Received thanks: 6 edited February 12 Member since: August 2015

    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:

    1. Öffne im Backend die Grundeinstellung und öffne Storefront -> Versandkosten-Modul
    2. 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
    3. Durch die Ergänzung der erweiterten SQL-Abfrage sind diese Variablen anschließend für deine eigenen Bedingungen in den Versandarten verfügbar
    4. 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

    Thanked by 1werkzeugdiscount24
  • werkzeugdiscount24werkzeugdiscount24 MemberComments: 28 Received thanks: 1 Member since: February 12

    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?

     

  • werkzeugdiscount24werkzeugdiscount24 MemberComments: 28 Received thanks: 1 Member since: February 12

    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?

  • werkzeugdiscount24werkzeugdiscount24 MemberComments: 28 Received thanks: 1 Member since: February 12

    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

  • DenKon26DenKon26 MemberComments: 74 Received thanks: 6 Member since: August 2015

    Super freut mich :)

Sign In or Register to comment.