Dans ce tutoriel nous allons créer un système d’avant, après sur Shopify. En effet ce tuto va vous apprendre à créer 2 images superposées avec un curseur à déplacer pour voir le avant après d’une image. Idéal pour les boutiques de beauté afin de mettre en valeur l’efficacité d’un produit 😉
2 possibilités s’offrent à vous ! Soit le mettre dans l’éditeur d’une fiche ou le mettre dans une section HTML au niveau de votre page d’accueil.
Partie Javascript
Rendez-vous dans les fichiers du thème – « Boutique en ligne – Actions – Modifier le code – dossier Ressources (Assets) » – Trouver un fichier base.js, global.js, theme.js, style.js ou autre fichier .js que votre thème utilise.
Mettez-vous tout en bas du fichier et copiez/collez le code suivant:
if(document.querySelector(".comparison")) {
function imageBeforeAfter(before,after) { let urlImageBefore = before; let urlImageAfter = after; document.querySelector(".comparison-img").style.backgroundImage = `url(${urlImageBefore})`; document.querySelector(".comparison-divisor").style.backgroundImage = `url(${urlImageAfter})`; }
let divisor = document.querySelector(".comparison-divisor"), handle = document.querySelector(".comparison-handle"), slider = document.querySelector(".comparison-slider");
Toujours dans le dossier Ressources (Assets) – Trouver cette fois ci un fichier .css, scss ou .css.liquid ou scss.liquid (généralement theme.scss ou style.scss etc…).
Mettez-vous tout en bas du fichier et copiez/collez le code suivant:
let urlImageAvant = "https://cdn.shopify.com/s/files/1/0059/9198/9282/files/photoshop-face-before.jpg?v=1612783634"; let urlImageApres = "https://cdn.shopify.com/s/files/1/0059/9198/9282/files/photoshop-face-after.jpg?v=1612783620";
Dans la partie HMTL que vous venez de copiez/collez nous avons 2 images d’exemple !
Il suffit donc de remplacer les 2 urls des 2 variables « urlImageAvant » et « urlImageApres » par vos images.
Comment mettre les images sur Shopify et trouver leurs urls ?
C’est très simple car Shopify propose un espace hébergement d’images que vous trouverez dans « Paramètres – Fichiers ». Téléchargez vos 2 images et copiez/collez les urls créées et remplacez les urls de l’exemple dans casser les doubles guillemets !!!
Et voila le système est en place !
Bonus
Il est possible de limiter la taille du conteneur de l’image en modifiant la valeur au niveau du CSS et du sélecteur .comparison-container. Pour ce faire il suffit de repérer le partie : max-width:800px; et de mettre la valeur souhaitée. De plus si vous souhaitez centrer la zone vous pouvez modifier la valeur: margin:15px 0; par margin:15px auto;
Vous avez un problème pour faire fonctionner ce tutoriel ou vous avez un besoin spécifique ?
Nous pouvons le faire pour vous ! pour ce faire merci de prendre contact avec notre équipe.
Sur ordinateur, ça fonctionne très bien, mais sur mobile ça ne fonctionne plus. J’utilise un iPhone XS (au cas ou ça peut vous aider de savoir ça) et dans mon cas, les images restes fixent, on voit donc juste les moitié des photos, la barre ne bouge pas non plus, il y a que le rond qui bouge, et ça donc sans faire apparaitre une image plus qu’une autre.
Je vous invite à essayer de votre côté, en espérant que vous ayez bien un iPhone pour essayer (j’ai pas essayer sur un Android j’en ai pas), et j’ai aussi fait essayé une amie, du coup avec un autre iPhone, et elle me confirme que elle aussi a le problème.
Hello, pas de notion de 2.0 ou autre sur ce code car c’est du code générique hors shopify donc utilisable partout 🙂 Peut être que votre thème n’est pas compatible 🙁
« Partie Javascript
Rendez-vous dans les fichiers du thème – « Boutique en ligne – Actions – Modifier le code – dossier Ressources (Assets) » – Trouver un fichier base.css, theme.css, style.css ou autre fichier .css que votre thème utilise. »
J’ai réessayer de le mettre en place aujourd’hui, ce tuto ne fonctionne plus. Il n’y a qu’une seule image sans comparaison.
Ou erreur de ma part mais j’aimerais bien savoir où car je cherche depuis une heure.
Hello, effectivement merci pour l’information ! une erreur de copier / coller j’ai rectifié le texte !
C’est un tuto qui ne fonctionne pas tout le temps cela dépend du thème et des navigateurs. Sinon des apps existent sur le store shopify, rechercher : before, after image
marh
9 Fév 2021Bonjour
J ‘ai mis votre code mais ça ne marche pas
Lucas
23 Avr 2021Bonjour,
Sur ordinateur, ça fonctionne très bien, mais sur mobile ça ne fonctionne plus. J’utilise un iPhone XS (au cas ou ça peut vous aider de savoir ça) et dans mon cas, les images restes fixent, on voit donc juste les moitié des photos, la barre ne bouge pas non plus, il y a que le rond qui bouge, et ça donc sans faire apparaitre une image plus qu’une autre.
J’ai évidement essayé avec votre tuto à cette page : https://dgeodev.myshopify.com/products/produit-1
Mais le problème est là aussi.
Je vous invite à essayer de votre côté, en espérant que vous ayez bien un iPhone pour essayer (j’ai pas essayer sur un Android j’en ai pas), et j’ai aussi fait essayé une amie, du coup avec un autre iPhone, et elle me confirme que elle aussi a le problème.
J’espère que vous allez pouvoir m’aider, merci
Francois Pierre CAMBILLARD
1 Mai 2021Bonjour ,
Pareil que Lucas, sur la preview Shopify cela marche, mais une fois en ligne cela ne fonctionne pas !
merci beaucoup
Kelly
23 Sep 2021Bonjour, savez vous ou mettre les bout de code dans le theme Dawn ?
Dgeo Dev
26 Sep 2021Hello, oui si c’est dans une fiche produit c’est main-product.liquid sinon il faut le mettre dans une section avec code HTML ou Liquid
BEKLI
3 Jan 2022Bonsoir, l’image ne s’affiche pas, seulement le rond au milieu s’affiche… y a t i l une solution pour remedier à ça ?
Cordialement
Iliès BEKLI
Antony
20 Mar 2023Bonjour, merci pour ce tuto, je n’ai pas la section contenue personnalisé… Donc pas possible chez moi
Dgeo Dev
22 Mar 2023Bonjour, il faudra passer à un thème plus complet comme par exemple speedfly 🙂
CharlyKB
6 Avr 2023Correction sur ce bout >
let divisor = document.querySelector(« .comparison-divisor »),
handle = document.querySelector(« .comparison-handle »),
slider = document.querySelector(« .comparison-slider »);
Dgeo Dev
7 Avr 2023Hello, merci 😉
alex
14 Juin 2023bonjour, cela ne fonctionne pas, je pense que vous n’avez pas fait la mise à jour du code pour le shopify 2.0
Dgeo Dev
15 Juin 2023Hello, pas de notion de 2.0 ou autre sur ce code car c’est du code générique hors shopify donc utilisable partout 🙂 Peut être que votre thème n’est pas compatible 🙁
Charly KB
14 Mar 2024Dgeo, tu met du JS dans du CSS ?
« Partie Javascript
Rendez-vous dans les fichiers du thème – « Boutique en ligne – Actions – Modifier le code – dossier Ressources (Assets) » – Trouver un fichier base.css, theme.css, style.css ou autre fichier .css que votre thème utilise. »
J’ai réessayer de le mettre en place aujourd’hui, ce tuto ne fonctionne plus. Il n’y a qu’une seule image sans comparaison.
Ou erreur de ma part mais j’aimerais bien savoir où car je cherche depuis une heure.
Dgeo Dev
14 Mar 2024Hello, effectivement merci pour l’information ! une erreur de copier / coller j’ai rectifié le texte !
C’est un tuto qui ne fonctionne pas tout le temps cela dépend du thème et des navigateurs. Sinon des apps existent sur le store shopify, rechercher : before, after image