FROM CACHE - de_header

Abfrage für Bestellungen außerhalb der EU

MarcoAP
Entdecker
36 0 9

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

5 ANTWORTEN 5

MarcoAP
Entdecker
36 0 9

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

Gabe
Shopify Staff
16752 2646 3926

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:

  • IF Visitor from Europe = False
  • THEN output Visitor
  • ELSE do not output

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 %}

image.png

 

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.

 
Das obige, wie gesagt, ohne Gewähr und bei weiteren Fragen, konsultiere bitte einen Experten/Programmierer! Das obige dient lediglich dich in die richtige Richtung zu leiten!

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

MarcoAP
Entdecker
36 0 9

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

Gabe
Shopify Staff
16752 2646 3926

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

MarcoAP
Entdecker
36 0 9

@Gabe

 

Bitte entschuldige wenn ich dir Arbeit gemacht habe, dennoch ist es für mich interessant. Daher ist es nicht umsonst gewesen. 

Danke dir

Marco