Shopify Plus - Afficher la carte avant le paiement (checkout.liquid)
Les clients Shopify Plus peuvent ajouter un code javascript dans le fichier checkout.liquid pour proposer la sélection avant le paiement à leurs clients.
À noter avant l'installation :
- Cette solution vous permettra d'atteindre des niveaux de sélection proches de 100% mais qui ne peuvent être garantis. Vous aurez donc toujours quelques commandes qui tomberont sans Point Relais
- La remontée des Points Relais cessera de fonctionner si vous désinstallez l'app Mondial Relay
Important :
- Si vous utilisez une application tierce pour générer vos modes de livraison (Advanced Shipping Rules, Parcelify...), il peut arriver que la carte de sélection ne s'affiche pas lorsque vous cliquez sur "Choisir mon point relais". Dans ce cas, merci de contacter notre support sur mondialrelay.shopify@gmail.com
Voici le code à ajouter dans la balise <head> du fichier checkout.liquid :
ATTENTION, NE PAS OUBLIER DE REMPLACER LA VARIABLE VOTRE_CODE_ENSEIGNE PAR VOTRE CODE ENSEIGNE MONDIAL RELAY
<script> if (window.location.href.indexOf("checkout") > -1){ var enseigneClient = 'VOTRE_CODE_ENSEIGNE'; var customRule = ''; var MondialRelayScript = document.createElement('script'); MondialRelayScript.type = 'text/javascript'; MondialRelayScript.src = 'https://shopify-mondial-relay.s3.eu-west-3.amazonaws.com/MR-select-pickup-shopify-plus.js'; MondialRelayScript.setAttribute('enseigne', enseigneClient); MondialRelayScript.setAttribute('customRule', customRule); document.getElementsByTagName('head')[0].appendChild(MondialRelayScript); var count = 0; var waitFunction = function() { if (document.querySelectorAll('.section--shipping-method input').length > 0) { var selectedInput = document.querySelector('input[checked=\'checked\']'); if (selectedInput && decodeURIComponent(selectedInput.getAttribute('value')).toLowerCase().indexOf('mondial-relay') > 1 && document.querySelectorAll('.section-shipping-method input')[1]) { document.querySelectorAll('.section--shipping-method input')[1].click(); } else { count += 1; if (count < 40) { setTimeout(function(){ waitFunction(); }, 500); } } } }; waitFunction(); } </script>