Si quieres limitar los envíos de tu tienda a una zona determinada según el código postal, puedes copiar el código que te facilitamos en este artículo y pegarlo en tu tienda Creator. Tendrás que realizar algunos ajustes en el código para adaptarlo a tus necesidades.
Nota
Copia el siguiente código en la cabecera de tu página web. Para ello, entra en Ajustes > Editar cabecera.
Luego, tendrás que editar las siguientes partes del código:
value: 'Fuera de la zona de envío' (marcado en rojo): Este es el mensaje que verán los clientes al introducir un código postal que no esté dentro de la zona de envío. Este mensaje se mostrará correctamente en la mayoría de los navegadores, pero en otros navegadores como Safari o basados en Safari podría aparecer, en su lugar, el mensaje predeterminado del navegador.
value: '254[3-6]{2}' (marcado en verde): Estos valores son un ejemplo de un rango de códigos postales. En este ejemplo, hemos determinado que los tres primeros números deben ser 254. Los siguientes números pueden ser entre 3 y 6, y solo se pueden introducir 2 números después de los tres primeros.
Si quieres limitar aún más la zona de envío, puedes cambiar estos valores por value:'254[1-9]{1}'. De esta forma, el rango de la zona de envío sería 2541-2549.
Código
<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: 'Fuera de la zona de envío'}; // 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>