Nous allons voir dans ce tutoriel comment mettre à jour les variantes sur shopify en cliquant sur les images associées

Ce sytème est très utiles pour que les clients voient directement le changement de variantes au clic sur l’image correspondante. Cela permet également d’éviter au client de se tromper.

Installons le variantes au clic sur les images du produit

Rentrons directement dans le vif du sujet

Rendez vous dans Boutique en ligne -> Actions -> Modifier le code -> Mise en page (Layout) -> product.liquid

Ensuite copiez le code ci-dessous tout en bas du fichier

{% comment %}
Place this in your product.liquid template, at the bottom.
{% endcomment %}
{% if product.variants.size > 1 %}
<script>
(function($) {
var variantImages = {},
thumbnails,
variant,
variantImage,
optionValue;
{% for variant in product.variants %}
variant = {{ variant | json }};
if ( typeof variant.featured_image !== 'undefined' && variant.featured_image !== null ) {
variantImage = variant.featured_image.src.split('?')[0].replace(/http(s)?:/,'');
variantImages[variantImage] = variantImages[variantImage] || {};
{% for option in product.options %}
{% assign option_value = variant.options[forloop.index0] %}
{% assign option_key = 'option-' | append: forloop.index0 %}
if (typeof variantImages[variantImage][{{ option_key | json }}] === 'undefined') {
variantImages[variantImage][{{ option_key | json }}] = {{ option_value | json }};
}
else {
var oldValue = variantImages[variantImage][{{ option_key | json }}];
if ( oldValue !== null && oldValue !== {{ option_value | json }} ) {
variantImages[variantImage][{{ option_key | json }}] = null;
}
}
{% endfor %}
}
{% endfor %}
$(function() {
thumbnails = $('img[src*="/products/"]').not(':first');
if (thumbnails.size()) {
thumbnails.bind('click', function() {
var image = $(this).attr('src').split('?')[0].replace(/(_thumb\.)|(_small\.)|(_compact\.)|(_medium\.)|(_large\.)|(_grande\.)/,'.');
if (typeof variantImages[image] !== 'undefined') {
{% for option in product.options %}
optionValue = variantImages[image]['option-{{ forloop.index0 }}'];
if (optionValue !== null && $('.single-option-selector:eq({{ forloop.index0 }}) option').filter(function() { return $(this).text() === optionValue }).length) {
$('.single-option-selector:eq({{ forloop.index0 }})').val(optionValue).trigger('change');
}
{% endfor %}
}
});
}
});
})(jQuery);
</script>
{% endif %}

Il ne vous reste plus qu’a tester tout ca !

Si cela ne fonctionne pas, c’est que votre thème n’a pas Jquery de chargé. Dans ce cas rendez-vous dans Mise en page (Layout) – theme.liquid et avant la fermeture du </head> collez ce bout de code:

<script src="https://code.jquery.com/jquery-1.12.4.min.js" crossorigin="anonymous"></script>

Je rappelle que ce code n’est pas de moi cette fois ci 😉

Source: https://github.com/carolineschnapp/make-image-change-variant

ps: ce code ne fonctionne pas avec tous les thèmes

Bon tuto à tous 🙂

Inclus dans Speedfly
Merci de me laisser une petite note 😉
[Note moyenne de: 5 sur 2 votes]

Besoin d'aide ?

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.

En savoir plus

🤗 Vous souhaitez me remercier pour mes Tutos ?

Cliquez sur le bouton ci-dessous pour m'encourager à continuer 😉

Payer un Café à Dgeo Dev

Besoin de déléguer votre SAV ?

Si vous avez besoin d'une personne pour gérer votre SAV j'ai la perle rare 😉 contactez moi en MP ou cliquez sur le bouton ci-dessous:

Je veux déléguer mon SAV

🤗 Vous souhaitez me remercier pour mes Tutos ?

Cliquez sur le bouton ci-dessous pour m'encourager à continuer 😉

Payer un Café à Dgeo Dev

Cet article a 32 commentaires

    1. Hello, ok merci de ton retour qui pourra en aider plus d’un sur ce thème 😉

  1. j’arrive pas a le placer sur brooklyn, sais tu si l’autre technique passe?

    1. Hello, comment ca tu n’arrive pas à le placer ?

      1. en clair je les placer a l’endroit où tu l’indique et sur brooklyn ca ne fonctionne pas. à tu une idèe?

        je me suis mal exprimé excuse moi.

        cdlmt,

        Michael.

  2. vraiment super génial ces tutos. mille merci mec

    1. Hello, de rien et merci pour le message 😉

  3. il n y a pas de section « product liquid » dans layout. j’ai (avec le theme supply) giftcard/password/theme

    1. va dans >boutique en ligne > ensuite ton thème il y a un bouton actions > clique et il y a modifier le code > ensuite au lieux de chercher le product.liquid, tape le dans la barre de recherche et tu fais comme il a dit copier coller tout simplement !

      au top

  4. Waou au top !
    Par contre pourquoi c’est pas de base dans le code cette action ???
    je sors de 10 ans de prestashop et ce genre de détails est en natif !
    1h que je cherche a comment faire cette manipulation …

    Un grand merci a toi 🙂

  5. Bonjour, comment faire pour le theme jumpstart ? merci

    1. Hello, logiquement c’est générique

  6. hello, tout d’abord merci pour ton taf, le site est une mine d’info !
    Parcontre j’ai un probleme avec ce tuto, il ne fonctionne pas chez moi avec le theme DEBUT, du coup, j’ai essayé avec le lien en premier commentaire, j’ai tout suivi à la lettre et idem. quelqu un aurait la solution ?

      1. Bonsoir, j’ai installé ce code (le tuto de Shopify) sur mon thème Début, et il fonctionne bien sur la page produit, mais pas sur la page d’accueil. Comment faire pour que ce soit le cas ?

        1. Hello, c’est un autre fichier qui est appelé sur la page d’accueil, généralement dans sections – featured-product.liquid 😉

          1. Super ! ça marche ! Merci ! 🙂

  7. Bonjour,
    Cela n’a pas fonctionné malgré plusieurs tentatives..Aurais tu une solution ? (j’ai le thème supply).
    Merci

    1. Bonjour, oui en effet ce tuto ne fonctionne plus depuis les mises à jour de certains thème 🙁

  8. Salut, Comment appliquer cette fonction au 2eme bouton en bas de la fiche produit?

    1. Hello, c’est tellement spécifique que cela dépend de chaque thème. en gros pas possible sauf en développement spécifique.

  9. Merci Dgeo, je suis une vraie merde en informatique, mais grace a toi j’ai reussi quelque petit exploit (aucun mérite, je fais que te mimer, mais je m’en fou, je suis content).
    Grand merci.
    Parfois ca ne fonctionne pas, mais souvent si, sinon quand tu dis avant le ca veut dire dessus, coller ???
    Trop complexe pour moi.

    Merci pour tout, et bravo, méga sympa de ta pars.

    1. Hello, héhé merci pour ce témoignage 😀 – oui c’est cela « dessus et coller » 😉 Bonne soirée

  10. Tout d’abord Un énorme Merci pour tout vos tutos, (même si je pense que ça doit être le millième merci que vous recevez)
    Sinon concernant ce tuto j’aimerai savoir comment faire pour qu’il fonctionne aussi sur un appareil mobile ?

    1. Bonjour, les mercis font tjs plaisir 😉 euh logiquement cela fonctionne sur mobile… Après cela dépend du thème

  11. Bonjour,
    Quelqu’un aurait-il le lien pour la modification du thème « Début », apparamment celui fournit plus haut ne fonctionne plus.

    1. Hello, cool et merci pour la communauté 😉

  12. Bonjour
    Serait-il possible d’avoir la solution, car quand je clique sur le produit depuis ma page d’accueil, cela me met directement sur une variante sur la fiche produit. j’aimerais que la photo par défaut du produit s’affiche en premier lieux et une fois que le client a choisi la couleur cela affiche une photo de la variante. J’utilise le thème « Refresh ». J’ai parcouru les forum mais j’ai pas trouvé solution.

    Merci d’avance.

Laisser un commentaire

Fermer le menu
×
×

Panier