Aller au contenu

🛍️ Fiches produitGratuit · 0 NahnahPar NAHNAH

FAQ produit avec recherche

FAQ en accordéon avec champ de recherche qui filtre les questions en direct et surligne les résultats.

Aperçu en direct

Données de démonstration (produits, menus, textes d’exemple) : dans ta boutique, ce sont les tiennes.

Photos : Unsplash / Pexels (exemples de l’aperçu, jamais inclus dans le code).

Code à copier

Fichier complet sections/nahnah-fiches-produit-faq-recherche.liquid (Liquid, CSS et JS inclus).

{%- comment -%} NAHNAH AI · FAQ produit avec recherche {%- endcomment -%}
<div class="nn-fiches-produit-faq-recherche" style="--nn-mh: {{ section.settings.marge_haut }}px; --nn-mb: {{ section.settings.marge_bas }}px; --nn-fond: {{ section.settings.couleur_fond }}; --nn-texte: {{ section.settings.couleur_texte }}; --nn-accent: {{ section.settings.couleur_accent }};">
  <div class="nn-fiches-produit-faq-recherche__inner">
    {%- if section.settings.titre != blank -%}<h2 class="nn-fiches-produit-faq-recherche__titre">{{ section.settings.titre | escape }}</h2>{%- endif -%}
    <label class="nn-fiches-produit-faq-recherche__champ">
      <span class="nn-fiches-produit-faq-recherche__sr">Rechercher une question</span>
      <input type="search" placeholder="{{ section.settings.placeholder | escape }}" data-nn-recherche autocomplete="off">
    </label>
    <div class="nn-fiches-produit-faq-recherche__liste">
      {%- for block in section.blocks -%}
        <details class="nn-fiches-produit-faq-recherche__item" data-nn-item {{ block.shopify_attributes }}>
          <summary>{{ block.settings.question | escape }}</summary>
          <div class="nn-fiches-produit-faq-recherche__reponse">{{ block.settings.reponse }}</div>
        </details>
      {%- endfor -%}
    </div>
    <p class="nn-fiches-produit-faq-recherche__vide" data-nn-vide hidden>{{ section.settings.texte_vide | escape }}</p>
  </div>
</div>

{% schema %}
{
  "name": "FAQ avec recherche",
  "tag": "section",
  "class": "nn-section-fiches-produit-faq-recherche",
  "settings": [
    { "type": "text", "id": "titre", "label": "Titre", "default": "Questions fréquentes" },
    { "type": "text", "id": "placeholder", "label": "Texte du champ", "default": "Tape un mot : livraison, taille, retour…" },
    { "type": "text", "id": "texte_vide", "label": "Texte sans résultat", "default": "Aucune réponse trouvée. Écris-nous, on te répond vite !" },
    { "type": "header", "content": "Couleurs" },
    { "type": "color", "id": "couleur_fond", "label": "Fond", "default": "#FFFFFF" },
    { "type": "color", "id": "couleur_texte", "label": "Texte", "default": "#111827" },
    { "type": "color", "id": "couleur_accent", "label": "Accent", "default": "#6366F1" },
    { "type": "header", "content": "Espacement" },
    { "type": "range", "id": "marge_haut", "label": "Marge haute", "min": 0, "max": 120, "step": 4, "unit": "px", "default": 40 },
    { "type": "range", "id": "marge_bas", "label": "Marge basse", "min": 0, "max": 120, "step": 4, "unit": "px", "default": 40 }
  ],
  "blocks": [
    {
      "type": "question",
      "name": "Question",
      "settings": [
        { "type": "text", "id": "question", "label": "Question", "default": "Quels sont les délais de livraison ?" },
        { "type": "richtext", "id": "reponse", "label": "Réponse", "default": "<p>Ta commande est expédiée sous 48 h et livrée en 2 à 5 jours ouvrés.</p>" }
      ]
    }
  ],
  "presets": [
    {
      "name": "FAQ avec recherche",
      "blocks": [
        { "type": "question" },
        { "type": "question", "settings": { "question": "Puis-je retourner le produit ?", "reponse": "<p>Oui, tu as 30 jours pour changer d’avis. Le retour est simple et rapide.</p>" } },
        { "type": "question", "settings": { "question": "Comment choisir ma taille ?", "reponse": "<p>Consulte le guide des tailles ; en cas de doute, prends la taille au-dessus.</p>" } }
      ]
    }
  ]
}
{% endschema %}

{% stylesheet %}
.nn-fiches-produit-faq-recherche { padding: var(--nn-mh) 16px var(--nn-mb); background: var(--nn-fond); color: var(--nn-texte); }
.nn-fiches-produit-faq-recherche__inner { max-width: 720px; margin: 0 auto; }
.nn-fiches-produit-faq-recherche__titre { margin: 0 0 18px; font-size: clamp(22px, 4vw, 32px); font-weight: 800; }
.nn-fiches-produit-faq-recherche__champ input { width: 100%; box-sizing: border-box; padding: 14px 18px; border: 2px solid rgba(0,0,0,.1); border-radius: 14px; font-size: 16px; background: transparent; color: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.nn-fiches-produit-faq-recherche__champ input:focus { outline: none; border-color: var(--nn-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--nn-accent) 20%, transparent); }
.nn-fiches-produit-faq-recherche__liste { margin-top: 16px; }
.nn-fiches-produit-faq-recherche__item { border-bottom: 1px solid rgba(0,0,0,.08); }
.nn-fiches-produit-faq-recherche__item summary { position: relative; list-style: none; cursor: pointer; padding: 18px 40px 18px 0; font-weight: 700; font-size: 16px; }
.nn-fiches-produit-faq-recherche__item summary::-webkit-details-marker { display: none; }
.nn-fiches-produit-faq-recherche__item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--nn-accent); transition: transform .25s ease; }
.nn-fiches-produit-faq-recherche__item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.nn-fiches-produit-faq-recherche__reponse { padding: 0 0 18px; line-height: 1.6; opacity: .8; }
.nn-fiches-produit-faq-recherche mark { background: color-mix(in srgb, var(--nn-accent) 25%, transparent); color: inherit; border-radius: 3px; }
.nn-fiches-produit-faq-recherche__vide { margin: 18px 0 0; opacity: .7; }
.nn-fiches-produit-faq-recherche__sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  .nn-fiches-produit-faq-recherche *, .nn-fiches-produit-faq-recherche *::after { transition: none !important; animation: none !important; }
}
{% endstylesheet %}

{% javascript %}
(function () {
  // Branche la recherche sur chaque section FAQ
  function brancher(racine) {
    if (racine.dataset.nnPret) return;
    racine.dataset.nnPret = "1";
    var champ = racine.querySelector("[data-nn-recherche]"), vide = racine.querySelector("[data-nn-vide]");
    var items = [].slice.call(racine.querySelectorAll("[data-nn-item]"));
    if (!champ) return;
    // On garde le texte d'origine de chaque question pour pouvoir surligner
    items.forEach(function (it) { var s = it.querySelector("summary"); s.dataset.nnOrigine = s.textContent; });
    function echapper(t) { return t.replace(/[&<>"]/g, function (c) { return { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;" }[c]; }); }
    function normaliser(t) { return t.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g, ""); }
    champ.addEventListener("input", function () {
      var q = normaliser(champ.value.trim()), visibles = 0;
      items.forEach(function (it) {
        var s = it.querySelector("summary"), origine = s.dataset.nnOrigine, texte = normaliser(it.textContent);
        var ok = !q || texte.indexOf(q) > -1;
        it.hidden = !ok;
        if (ok) visibles++;
        // Surlignage du mot cherché dans la question
        var pos = q ? normaliser(origine).indexOf(q) : -1;
        s.innerHTML = pos > -1 ? echapper(origine.slice(0, pos)) + "<mark>" + echapper(origine.slice(pos, pos + q.length)) + "</mark>" + echapper(origine.slice(pos + q.length)) : echapper(origine);
      });
      if (vide) vide.hidden = visibles > 0;
    });
  }
  function tout() { document.querySelectorAll(".nn-fiches-produit-faq-recherche").forEach(brancher); }
  tout();
  document.addEventListener("shopify:section:load", tout);
})();
{% endjavascript %}
Télécharger le fichier .liquid

Licence NAHNAH AI : utilisation libre dans tes boutiques (y compris commerciales), modification permise, revente de l’élément seul interdite.

Prompt à copier

À coller dans Claude ou ChatGPT avec le fichier téléchargé (ou le code copié) : l’assistant t’aide à l’installer et à l’adapter à ta marque.

Tu es un expert des thèmes Shopify Online Store 2.0. Aide-moi à installer puis à adapter à ma marque cet élément gratuit de la bibliothèque NAHNAH AI.

Élément : « FAQ produit avec recherche » (Fiches produit)
Description : FAQ en accordéon avec champ de recherche qui filtre les questions en direct et surligne les résultats.
Page de l’élément (aperçu en direct) : https://ai.nahnah.shop/bibliotheque-shopify/fiches-produit-faq-recherche
Fichier : nahnah-fiches-produit-faq-recherche.liquid (bouton « Télécharger » de la page) ou le code copié avec le bouton « Copier » : je te le joins ou je le colle après ce message.
Emplacement dans le thème : sections/nahnah-fiches-produit-faq-recherche.liquid (Liquid, puis {% stylesheet %} et {% javascript %}, dans ce seul fichier).

Étapes d’installation :
1. Dans Shopify : Boutique en ligne → Thèmes → bouton « … » du thème → Modifier le code.
2. Dossier « sections » → « Ajouter une section » (ou « Nouveau fichier ») → nomme-la « nahnah-fiches-produit-faq-recherche ».
3. Efface le contenu proposé, colle le code de l’onglet Liquid (fichier complet), puis Enregistrer.
4. Ouvre Personnaliser → Ajouter une section → choisis-la, règle les textes et les couleurs, puis Enregistrer.

Ce que j’attends de toi :
- Guide-moi pas à pas dans Shopify : Boutique en ligne → Thèmes → « … » → Modifier le code → dossier sections → Ajouter une section, puis Personnaliser → Ajouter une section.
- Propose-moi d’adapter les couleurs, les textes et les liens à ma marque : demande d’abord mes couleurs (codes hexadécimaux), mon ton et mes liens.
- Garde le bloc {% schema %} et tous ses réglages (identifiants, types, presets) : je dois pouvoir tout régler ensuite dans l’éditeur de thème.
- Rends-moi le fichier complet modifié, prêt à coller, sans faux avis, fausse urgence ni chiffre inventé.

Si tu as le connecteur NAHNAH AI (MCP), récupère directement le code exact avec l’outil obtenir_code_element (id : fiches-produit-faq-recherche).

Installer dans ma boutique

En un clic, la section est ajoutée à un thème de ta boutique Shopify connectée (un thème non publié par défaut).

Chargement de tes boutiques…

Installer dans Shopify

  1. Dans Shopify : Boutique en ligne → Thèmes → bouton « … » du thème → Modifier le code.
  2. Dossier « sections » → « Ajouter une section » (ou « Nouveau fichier ») → nomme-la « nahnah-fiches-produit-faq-recherche ».
  3. Efface le contenu proposé, colle le code de l’onglet Liquid (fichier complet), puis Enregistrer.
  4. Ouvre Personnaliser → Ajouter une section → choisis-la, règle les textes et les couleurs, puis Enregistrer.

Installer via le MCP

Depuis Claude, Claude Code ou ChatGPT connecté à NAHNAH AI, demande : « Donne-moi le code de l’élément fiches-produit-faq-recherche de la bibliothèque NAHNAH AI et les étapes pour l’installer ». L’assistant récupère le code et les étapes (outil obtenir_code_element), gratuitement.

Boutique connectée à NAHNAH AI : l’assistant peut aussi l’installer directement (outil installer_element).

Connecter le MCP

Dans la même catégorie