Liquid, JavaScript, Themes
Hallo,
ich such aktuell eine Lösung, wie ich eine Abfrage in Liquid erstellen kann, wenn der Kunde
außerhalb der EU bestellt hat. Ein Land an sich ist kein Problem, aber wie mach ich das
für "Rest der Welt" ?
Dank euch
Gruß
Marco
Ich habe schon überlegt, es müsste doch eigentlich auch gehen alle Länder in der EU abzusagen, und zu schauen ob das Land worüber der Kunde bestellt nicht dabei ist. Also über shipping_address.country_code bei der Bestellung das Land abzugreifen, hat damit schon jemand Erfahrung ?
Am einfachsten würde natürlich seine, wenn es Möglich sein würde, zu schauen ob das Land bei "Rest der Welt" eingetragen ist. Nur dafür habe ich noch keine Möglichkeit gefunden.
Gruß
Marco
Hey Marco! @MarcoAP
Danke für die Frage und du möchtest praktisch ein Mechanismus in das Liquid Code einbauen das das die folgende Abfrage und Output erstellt:
Darf ich fragen was du erreichen möchtest und warum, was der Business Use-Case dafür ist? In das Liquid Code einzugreifen empfehle ich meistens nicht aber du könntest in einer Kopie deines Themes als Testumgebung etwas wie das folgende testen fall sich das richtig verstanden habe.
Das folgende ist ohne Gewähr und man sollte es mit einem Experten/Programmierer besprechen. Änderungen zu deinem Code können die Page Ladezeiten negative beeinflussen und dein Theme ggf. aus den Theme Updates ausschließen.
Um zu überprüfen, ob der Besucher aus einem Land außerhalb Europas kommt, kann man eine Liquid-Abfrage wie die folgende verwenden. Das folgende Code kannst du aus unserer Developer Doku entnehmen und zusammenbasteln mit einem Entwickler:
{% if customer %}
{% assign customer_country_code = customer.default_address.country_code %}
{% else %}
{% assign customer_country_code = checkout.shipping_address.country_code %}
{% endif %}
{% if customer_country_code != 'DE' and customer_country_code != 'AT' and customer_country_code != 'BE' and customer_country_code != 'BG' and customer_country_code != 'CY' and customer_country_code != 'CZ' and customer_country_code != 'DK' and customer_country_code != 'EE' and customer_country_code != 'ES' and customer_country_code != 'FI' and customer_country_code != 'FR' and customer_country_code != 'GB' and customer_country_code != 'GR' and customer_country_code != 'HR' and customer_country_code != 'HU' and customer_country_code != 'IE' and customer_country_code != 'IT' and customer_country_code != 'LT' and customer_country_code != 'LU' and customer_country_code != 'LV' and customer_country_code != 'MT' and customer_country_code != 'NL' and customer_country_code != 'PL' and customer_country_code != 'PT' and customer_country_code != 'RO' and customer_country_code != 'SE' and customer_country_code != 'SI' and customer_country_code != 'SK' %}
<!-- Output visitor -->
{% endif %}
In dieser Abfrage wird zuerst überprüft, ob der Besucher ein registrierter Kunde ist oder nicht, und wenn ja, wird das Land des Kunden über customer.default_address.country_code
abgerufen. Wenn der Besucher kein Kunde ist, wird das Land über checkout.shipping_address.country_code
abgerufen.
Dann wird überprüft, ob das Land des Besuchers in der Liste der Länder der Europäischen Union enthalten ist. Wenn das Land nicht in der Liste enthalten ist, wird der Output für den Besucher ausgegeben.
Alternativ kannst du auch eine Liste mit Ländern außerhalb Europas erstellen und diese in der Liquid-Abfrage verwenden, um zu überprüfen, ob der Besucher aus einem dieser Länder kommt wie z. B.:
{% assign non_eu_countries = "US,CA,AU,NZ,JP" | split: "," %}
{% if customer %}
{% assign customer_country_code = customer.default_address.country_code %}
{% else %}
{% assign customer_country_code = checkout.shipping_address.country_code %}
{% endif %}
{% if non_eu_countries contains customer_country_code %}
<!-- Output visitor -->
{% endif %}
In dieser Abfrage wird zuerst eine Liste von Ländern außerhalb Europas erstellt und in non_eu_countries
gespeichert. Dann wird das Land des Besuchers abgerufen und überprüft, ob es in non_eu_countries
enthalten ist. Wenn das Land in der Liste enthalten ist, wird der Output für den Besucher ausgegeben.
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Hallo @Gabe
Danke für die Infos von dir.
Es geht um den Checkout. Wenn eine Bestellung fertig ist, muss ich über die Schnittstelle der SevDesk App eine Abfrage einbauen, dort kann ich auch Liquid benutzen, ob die Bestellung ausserhalb der EU kommt. So ist es mir dann möglich am ende der Rechnung einen Satz zu schreiben "Umkehrung der Steuerschuldnerschaft gemäß § 13b (1)". Dieser soll wie schon geschrieben nur auf den Rechnung ausserhalb der EU erscheinen, weil die Rechnung sonst ungültig ist.
Die SevDesk App bietet diese Option, das direkt eine Liquid-Abfrage eingebaut werden kann.
Es ist nur die Frage auf welche Infos ich dort zugreifen muss. Am einfachsten würde es sein, wenn es eine Variable gibt ob die Bestellung ausserhalb der EU kommt, oder ich frage dirkt bei der Lieferadresse das Land z.b. ab.
Gruß
Marco
Hey Marco! @MarcoAP
Der Checkout ist nicht zugänglich (ausser auf Shopify+) wie du ja weisst. Also muss das anders gelöst werden.
Da du jetzt weitere Angaben ergänzt hast (die mir, tbh, sehr viel Arbeit gespart hätten) bzgl. der SevDesk App, ändert das den Sachverhalt ein wenig und hier werde ich dich zu den SevDesk Entwickler und Support verweisen, denn diese sind hier die besten Ansprechpartner.
Gabe | Social Care @ Shopify
- War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen!
- Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung
- Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog
Bitte entschuldige wenn ich dir Arbeit gemacht habe, dennoch ist es für mich interessant. Daher ist es nicht umsonst gewesen.
Danke dir
Marco
Mit dem Lernpfad der Shopify Academy und dem Verified Skills-Badge Expanding Your Sho...
By Shopify Feb 7, 2025Den Verkauf im Großhandel steigern: In der Shopify Academy lernst du, wie das geht, zum...
By Shopify Feb 3, 2025Teil 2 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 16, 2024