Se vuoi limitare le zone verso le quali effettui le spedizioni, specificando il codice postale delle zone accettate, puoi farlo copiando il codice riportato in questo articolo e incollandolo nel tuo shop Creator. Dovrai giusto modificare alcuni valori del codice per far sì che si adatti alle tue esigenze di spedizione.
Importante
Incolla il codice sottostante nella sezione Modifica Head del tuo sito Creator. Per vederla, devi accedere alla modalità amministrativa del sito, andare su Menu in alto a sinistra e poi su Impostazioni > Modifica Head.
Sarà necessario modificare queste parti del codice:
value: 'Non rientra nella zona di spedizione' (evidenziato in rosso): Apparirà questo messaggio quando e se l'utente inserirà un codice postale non corrispondente alle zone in cui effettui le spedizioni. Questo messaggio verrà mostrato nella maggior parte dei browser più comuni, ma potrebbe trasformarsi in un messaggio di default in browser come Safari o basati su Safari.
value: '071[0-6]{2}'(evidenziato in verde): Questo valore è un esempio dell'intervallo di codici postali che corrisponde alle zone in cui vuoi effettuare le spedizioni. In questo esempio, abbiamo stabilito che i primi tre numeri del codice devono essere 071. I numeri seguenti possono variare da 0 a 6 e solo 2 cifre possono seguire le prime tre.
Se vuoi restringere ulteriormente le zone di spedizione, puoi cambiare i valori in questo modo value: '0710[1-9]{1}'. Così facendo l'intervallo dei codici postali andrà da 07101 a 07109.
Codice
<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: '071[0-6]{2}'}; var title = {name: 'title', value: 'Non rientra nella zona di spedizione'}; // 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>