Nous allons voir dans ce tutoriel comment créer un bouton lire la suite sur Shopify

Nous avons parfois des descriptions trop longues et d’un point de vue ergonomique ce n’est pas toujours très sexy…

L’idée de ce tutoriel shopify est de vous proposer un bouton lire la suite qui affichera le reste de votre description de vos fiches produits, pages ou collections.

Vous pouvez voir le résultat sur cette page: voir la démo de ce tutoriel.

Vous allez surement vous poser la question suivante… Et côté SEO ce n’est pas pénalisant ?

Et bien non étant donné que l’affichage ou non-affichage est géré en Javascript, les moteurs de recherche liront le contenu complet 😉

Passons maintenant dans le fil du sujet !

Côté tutoriel – code shopify

Vous allez dans un premier temps devoir trouver votre fichier Css ou Scss selon le thème.

Rendez-vous dans les fichiers de votre thème (Personnaliser – Modifier code) – Assets et trouvez un des fichiers suivants:

  • theme.scss.liquid
  • timber.sccs.liquid
  • style.sccs.liquid
  • bref un xxx.scss.liquid :p

Déroulez le fichier et mettez vous tout en bas pour coller le code suivant:

#dg-rm-more {display: none; } 
#dg-rm-more p:last-child { margin-bottom:15px; } 
#dg-rm-dots:after { display:inline-block; content:"..."; }

Dans un deuxième temps trouvez dans le même dossier (Assets) un fichier .js généralement:

  • theme.js.liquid
  • timber.js.liquid
  • style.js.liquid
  • bref un xxx.js.liquid :p

Déroulez le fichier et mettez vous tout en bas pour coller le code suivant:

var dgReadMoreText1 = "+ En savoir plus";
var dgReadMoreText2 = "- En savoir moins";

function dgReadMore() {
var dots = document.getElementById("dg-rm-dots");
var moreText = document.getElementById("dg-rm-more");
var btnText = document.getElementById("dg-rm-btn");

if (dots.style.display === "none") {
dots.style.display = "inline";
btnText.innerHTML = dgReadMoreText1;
moreText.style.display = "none";
} else {
dots.style.display = "none";
btnText.innerHTML = dgReadMoreText2;
moreText.style.display = "inline";
}
}

Nous avons donc à ce stade le système pour créer un bouton lire la suite dynamique qui permettra d’afficher une description complète.

Côté Shopify – Éditeur

Ouvrez une fiche produit ou autres contenus avec un éditeur de texte et cliquez sur le <> (show html) afin de passer en mode code.

Copiez/collez le code suivant et passons à l’explication !

<h2>Zone "En savoir plus" de la description</h2> 
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas vitae. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas vitae. 
<span id="dg-rm-dots"></span>
</p> 
<div id="dg-rm-more"> 
<p><strong>Zone à afficher au clic sur "En savoir plus"</strong></p> 
<p>erisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet.</p> 
<p>Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis.</p> 
</div> 
<button id="dg-rm-btn" onclick="dgReadMore()">+ En savoir plus</button>

Écrivez votre texte normalement, à l’endroit ou vous souhaitez couper votre texte mettez la balise suivante:

<span id="dg-rm-dots"></span>

Ensuite englobez le reste de la description dans la balise div suivante (n’oubliez pas la fermeture </div> !!!):

<div id="dg-rm-more">
la suite de votre description qui s'affichera au clic sur le bouton "En savoir plus".
</div>

Il nous reste plus qu’à ajouter le bouton « En savoir plus » en collant la balise suivante tout en bas de votre description:

<button id="dg-rm-btn" onclick="dgReadMore()">+ En savoir plus</button>

Si vous souhaitez changer les intitulés, il faudra le faire sur le bouton ci-dessus mais également dans le fichier .js.liquid.

Attention à bien respecter les ouvertures et fermetures des bouts de codes afin d’éviter de casser votre mise en page !!!

Le <span id= »dg-rm-dots »></span> doit idéalement être avant une fermeture de paragraphe de ce genre </p> pour que les 3 petits points soient bien collé au texte 😉

Ce tutoriel existe aussi en vidéo

Bon courage pour ce tutoriel souvent demandé mais assez complexe à mettre en place efficacement !

Merci de me laisser une petite note 😉
[Note moyenne de: 4.9 sur 10 votes]

Cet article a 31 commentaires

  1. Merci pour ce tutoriel.
    Je l’ai codé en jquery pour faire simple.

  2. Salut et merci pour tes tutos !
    J’aimerai ajouter une fonction pour que le navigateur remonte à une ancre lorsque l’on clique sur le « lire moins ».
    Tu pourrais m’aiguiller ?

    1. Hello, merci pour le message.
      Hum c’est assez complexe car c’est le même bouton, donc si on met une ancre au clic sur voir plus on ira aussi à l’ancre… Ca demande un dev sur mesure pour le coup 🙂

      1. Hmm oui pas si simple 🙂 Malheureusement mon budget ne me permet pas de me payer les talents d’un développeur pour le moment 🙁 Peut être bientôt ? 😉 Je penserais à te faire un don à l’occase en tous cas, tu le mérite bien !

        1. Ok 🙂 merci c’est sympa 😉

  3. Salut Dgeo !

    Merci pour ce super tuto (bien pratique pour ne pas afficher la description des collections pour coupler SEO et UX).

    Petite question, est-ce possible d’afficher le « En savoir plus » non pas comme un bouton mais comme un lien hypertexte bleu ?

    1. Salut, merci pour le message 🙂 Oui c’est possible en remplacement button par a pour donner un truc sur genre < a ... > < /a ><

  4. Salut! Dev, j’espère que vous allez bien!
    J’ai vraiment besoin de vous, Pouvez-vous me contacter par email, je ne connais pas votre adresse email.

  5. Salut Dgeo Dev et merci pour ce tuto !
    Dommage que je ne l’ai pas vu avant, je viens d’ajouter le bouton « lire la suite » grâce à un codeur 5euros.
    Mais du coup je ne sais pas si mon bouton a été correctement ajouté pour le SEO.
    Je te laisse une capture d’écran de mon code, peut-être que t’y verras plus clair 😉

    Screen : https://imgur.com/a/rPIpOKS

    1. Hello, oui il faut tjs venir ici avant pour regarder si c’est dispo en Gratuit car bcp de personnes sur 5euro revendent mes codes Gratuits… c’est pénible mais bon triste monde… Bref… ca me semble correct même si je trouve qu’il y a un peu trop d’h3 à mon goût 😉 Bon WE

      1. Merci pour le retour rapide
        Et honte à ceux qui revendent ton travail !

  6. Salut Dgeo Dev !
    Merci pour ces tutos très utiles. C’est vraiment très intéressant, tu fais du bon boulot !
    J’ai une petite question, j’ai utilisé ton codage pour mon site il fonctionne parfaitement, mais j’ai un problème, j’ai deux textes différents ( du coup deux boutons  » lire la suite  » ) et lorsque je clique sur le bouton du deuxième texte ça déclenche le bouton du premier texte ( comme un raccourci ) que faut-il faire pour que les deux boutons soient actifs chacun pour leurs propres textes ?
    Passe un bon weekend !
    Amicalement
    Cyril

    1. Hello, merci pour le com. Oui je vois en fait il faudrait adapter le code au niveau des identifiants, le 2eme ne doit pas avoir le même. Ca reste tout de même assez technique à faire :(. Bonne journée.

  7. Bonsoir DGeo,
    merci pour tes tutos très utiles, quand tu parles de modifier le code dans la fiche produit, est il possible de le modifier pour toutes les fiches produits. Bonne soirées 🙂

    1. Hello merci pour le message. Je ne comprends pas la question… d’un point de vue visuel ?

  8. Bonjour, lorsque j’affiche les codes html du produit il y a déjà un code, je colle celui du tuto avant ou après ?

    1. Hello, merci pour le message, ca je peux pas vous dire 🙂 je ne sais pas ce que vos codes font 😉 testez les 2 !

  9. Bonjour Dgeo,
    merci pour tes tutos,
    pour ma part cette fonctionne ne convient pas au theme Jumstart
    je ne trouve pas le fichier ds ASSET
    theme.js.liquid
    timber.js.liquid
    style.sccs.liquid
    bref un xxx.js.liquid :p

    j’ai uniquement trouvé le theme.js

    1. Hello, oui le theme.js devrait être le bon 🙂 à tester. Bonne soirée.

  10. Bonjour, est-il possible de ne pas avoir un bouton mais simplement un texte pour le « lire la suite » ?

    1. Hello, oui c’est possible dans ce cas remplacer dans la partie html le button et /button par span et /span 🙂

  11. Hello, est-ce normal que le titre H2 n’apparaisse pas ? Y’a t-il un moyen pour qu’il soit dans le texte ?

    1. Hello, comment ça n’apparaisse pas ? le H2 est dans l’éditeur, le code ne joue pas la dessus 🙂

  12. Bonsoir,
    Lorsque je fais tout correctement , le bouton « en savoir plus » apparait en effet mais quand je veux réduire un bouton « en savoir moins » devrait apparaitre, cependant il y a écrit « undefined », je comprends pas pourquoi … si tu pouvais m’aider ce serait cool

    1. Hello, étrange me MP au besoin pour voir ensemble

  13. Salut Dgeo Dev

    Merci pour ce bout de code, c’est top.
    J’aimerai avoir « lire la suite » en bas de page sous la collection, c’est possible ?

  14. salut dgeodev!
    merci beaucoup pour tes conseils j’ai vraiment apprécier ta façon de simplifier les choses,
    j’ai une question si vous voulez:
    est ce qu’on peux crée une balise spécifique pour chaque collection de produits?
    comme exemple: pour une boutique en ligne des produits alimentaire et boissons
    – balise pour la collection des produits alimentaires (conservé, bio, conditionné, frac, 1 kg, 500 g…… etc)
    – balise pour la collection des boissons (1 litre, 2 litres…., Boissons gazeuses, Jus, orange… eaux minéraux…)
    – balise pour les produits laitiers…….
    et je veux que la balise n’apparaître que dans la collection concerné !
    j’aimerais bien si vous pouvez me répondre
    merci beaucoup
    cordialement

    1. Hello, si la question est: puis-je appliquer ce tuto sur chaque collection ? la réponse est oui étant donné que le code est individuel et propre à chaque page 🙂

  15. Bonjour,

    Merci pour ce tuto

    Cependant avec le thème narrative, tout est correct le bouton « en savoir plus » apparaît mais il ne se passe rien quand je clique, il n’affiche pas la suite du lorem ipsum.

    une piste pour m’aider ?

    1. Hello, c’est compatible tout thème donc il faut persévérer ou me MP le lien du site pour voir

Laisser un commentaire

Fermer le menu

meilleure chaine youtube dropshipping shopify

Envie de tout savoir sur le Dropshipping & Shopify  ?

Alors abonne-toi à la chaine et active la cloche pour ne pas louper l'arrivée des prochaines vidéos !

S'abonner à la chaine