Versandkosten-Modul: Länder ausschließen SQL Fehler

Ich möchte für bestimmte Bedingungen meine Versandarten für Länder ausserhalb von Deutschland sperren. In der Dokumentation Versand in bestimmte Länder beschränken steht theoretisch direkt was zu tun gilt. Bei einem einfachen copy-paste des SQLs tritt jedoch im Checkout der unten stehende Fehler auf, zudem funktioniert durch den selben fehler der Offcanvas-Warenkorb nicht mehr.

MAX(a.topseller) AS has_topseller, MAX(at.attr3) AS has_comment, MAX(b.esdarticle) AS has_esd, (SELECT countryiso FROM s_core_countries WHERE id = us.countryID) AS DeliveryCountry

SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘us.countryID’ in ‘where clause’ in \engine\Library\Zend\Db\Statement\Pdo.php on line 224

Die Spalte countryID in der Tabelle s_user_shippingaddress ist vorhanden.

Version Shopware 5.3.6 und 5.4.6

Hallo,

ab 5.3. lautet die Abfrage anders. S. Upgrade-Guide.

Eigene Versandartberechnung:  Falls Du eigene Versandartberechnung nutzt, muss diese ggf. angepasst werden: „userID“ wird ersetzt durch „user_id“, „countryID“ wird ersetzt durch „country_id“ und „stateID“ wird ersetzt durch „state_id“.

 

1 Like

@drakon Super! Danke dir, das war das Problem! Es steht sogar am Ende der Dokumentation unter “Variablen ab Shopware 5.3.0”.

Ausserdem möchte ich noch hinzufügen das der Vergleich DeliveryCountry = ‘DE’ in den eigenen Bedingungen nicht funktioniert, stattdessen müssen doppelte Anführungszeichen verwendet werden: DeliveryCountry = "DE"