Comment limiter la zone de livraison de ma boutique en ligne ?

 

 

<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: '31700|31770|31820|31830|31170|31150|31140|31000|31100|31200|31300|31400|31500'};

    var title = {name: 'title', value: 'Hors de la zone de livraison'};

    

    // 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>

 


Comment limiter la zone de livraison de ma boutique en ligne ?

 

Avatar Jimdo Support

Si vous souhaitez limiter votre zone de livraison à des villes ou arrondissements spécifiques, il vous suffit de copier-coller le code fourni dans cet article dans votre boutique Creator. Attention : vous devrez adapter le code pour qu’il corresponde à vos besoins.

 

À noter

Notre équipe Support n’est pas en mesure de vous aider à coller ou modifier des portions de code.

Veuillez copier-coller le code ci-dessous dans votre e-boutique en ouvrant le menu, puis la section Paramètres > Modifier le head.

 

Voici les éléments du code que vous devrez ensuite modifier :

 

value: 'Hors de la zone de livraison' (surligné en rouge) : cette portion de code correspond au message que vos utilisateurs verront s’ils saisissent un code postal qui n’est pas inclus dans votre zone de livraison. Veuillez noter que ce message s’affichera correctement dans la plupart des navigateurs, mais pourra apparaître comme un message d’erreur dans Safari ou les navigateurs basés sur Safari.

 

value: '95[3-6]{3}' (surligné en vert) : les chiffres indiqués sont des exemples de codes postaux. Dans cet exemple, les deux premiers chiffres du code postal doivent être 95 et les chiffres suivants peuvent être compris entre 3 et 6 (avec seulement 3 chiffres autorisés après les deux chiffres initiaux).

 

Si vous voulez restreindre encore plus votre zone de livraison, vous pouvez par exemple remplacer cette portion de code par value: '7500[1-3]{1}'. Les codes postaux autorisés seront alors compris entre 75001 et 75003.

<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: '95[3-6]{3}'};

    var title = {name: 'title', value: 'Hors de la zone de livraison'};

    

    // 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>