Wenn du das Liefergebiet für deinen Shop auf ein bestimmtes PLZ-Gebiet beschränken möchtest, kannst du hierfür den Code aus diesem Artikel kopieren und auf deiner Creator Website einfügen. Du müsstest dann noch den Code für deine Anforderungen anpassen.
Hinweis
Den unten stehenden Code fügst du in den Head-Bereich deiner Website ein. Gehe hierfür im Menü zu Einstellungen > Head bearbeiten. Im Code müsstest du dann folgende Passagen anpassen:
value: 'Außerhalb unseres Liefergebietes' (im Text rot markiert): Dies ist die Nachricht, die Nutzer*innen sehen, wenn sie eine Postleitzahl eingeben, die sich nicht im Lieferbereich befindet.
Bitte beachte, dass diese Nachricht zwar in den meisten Browsern vollständig angezeigt wird, aber z.B. in Safari nicht wie angegeben erscheint.
value: '254[3-6]{2}' (im Text grün markiert): Hierbei handelt es sich um ein Beispiel für ein PLZ-Gebiet. Mit dieser Variabel legen wir fest, dass die ersten drei Zahlen 254 sein müssen. Die folgenden Ziffern dürfen zwischen 3 und 6 liegen und auf die ersten drei Ziffern dürfen maximal 2 Ziffern folgen.
Würde man den Lieferbereich noch mehr einschränken wollen, so könnte man beispielsweise value: '2544[1-9]{1}' eintragen. Somit wäre der PLZ-Bereich auf 25441-25449 beschränkt.
Code
<script type="text/javascript"> // implements some native browser validation logic on ZipCode inputs // that are part of the checkout process forms //<![CDATA[ function docReady(fn) { // see if DOM is already available if (document.readyState === 'complete' || document.readyState === 'interactive') { // call on next available tick setTimeout(fn, 1); } else { document.addEventListener('DOMContentLoaded', fn); } } docReady(function(){ if ( (document.body.className.indexOf('j-shop-special-page') > -1 ) && document.getElementsByClassName('j-checkout__shipping-address-checkbox').length > 0 ) { // initial state addZipCodePattern(false); // if user changes state of "other shipping address" checkbox var otherShippingAdressCheckBox = document.getElementsByClassName('j-checkout-address-checkbox__box')[0]; otherShippingAdressCheckBox.addEventListener('change', function(){ addZipCodePattern(otherShippingAdressCheckBox.checked); }); } }); function addZipCodePattern(shippingPartOnly) { var billingZipCodeInput = document.getElementById('id_billing_zip'); var shippingZipCodeInput = document.getElementById('id_shipping_zip'); var pattern = {name: 'pattern', value: '254[3-6]{2}'}; var title = {name: 'title', value: 'Außerhalb unseres Liefergebietes'}; // exit if one of both isnt found if (!billingZipCodeInput || !shippingZipCodeInput) return; if (shippingPartOnly) { shippingZipCodeInput.setAttribute(pattern.name, pattern.value); shippingZipCodeInput.setAttribute(title.name, title.value); billingZipCodeInput.removeAttribute(pattern.name); billingZipCodeInput.removeAttribute(title.name); } else { billingZipCodeInput.setAttribute(pattern.name, pattern.value); billingZipCodeInput.setAttribute(title.name, title.value); shippingZipCodeInput.removeAttribute(pattern.name); shippingZipCodeInput.removeAttribute(title.name); } } //]]> </script>