Aller au contenu principal

Introduction

Construisez une navigation et un filtrage par facettes à partir d'un seul arbre de filtres de contenu localisé.

Plus d'informations sur l'interface utilisateur du module https://doc.oneentry.cloud/docs/category/filters


🎯 Que fait ce module ?

Le module Filters vous permet de récupérer un filtre de contenu par son marqueur. Un filtre de contenu est un arbre d'éléments localisé et organisé - il peut mélanger des pages, des produits, des attributs, des remises, des bonus, des méthodes de paiement et des entrées personnalisées dans une seule structure.

Considérez-le comme un menu configurable de "choses à filtrer" - vous définissez l'arbre une fois dans le panneau d'administration OneEntry et l'intégrez dans votre application pour rendre la navigation, les filtres par facettes ou des listes organisées. Le SDK est en lecture seule : les filtres sont récupérés par marqueur.

🚀 Démarrage rapide

Initialisez le module à partir de defineOneEntry :


const { Filters } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);

Récupérez un filtre par marqueur et parcourez son arbre d'éléments :

// Fetch the "main" content filter, localized to English.
const filter = await Filters.getFilterByMarker("main", "en_US");

console.log(filter.localizeInfos.title);

filter.items?.forEach((node) => {
console.log(node.type, node.marker ?? node.url, node.children?.length ?? 0);
});

✨ Concepts clés

Marqueur

Chaque filtre a un marqueur unique (par exemple main). Vous demandez un filtre par marqueur, et la réponse est localisée selon le langCode demandé.

Arbre d'éléments

Le tableau items est un arbre : les éléments réguliers et personnalisés vivent dans le même tableau, et chaque nœud peut avoir des children imbriqués. Parcourez l'arbre pour rendre votre interface utilisateur.

Chaque nœud a un type qui pointe vers quelque chose dans votre projet :

  • page - un lien vers une page (expose une url)
  • product - une entrée de produit
  • attribute - un attribut à filtrer
  • discount / personal-discount - une entrée de remise
  • bonus - une entrée de bonus
  • payment-method - une méthode de paiement
  • admin - une entrée d'administration
  • custom - une entrée personnalisée que vous avez définie

Chaque nœud contient des informations localisées (localizeInfos) et peut contenir des children imbriqués, vous permettant de rendre des filtres et des menus multi-niveaux directement à partir de la réponse.

📋 Ce que vous devez savoir

  • Passez un langCode pour obtenir le filtre localisé dans une langue spécifique (par défaut en_US).
  • Les nœuds de page (type: "page") exposent une url ; les autres types de nœuds utilisent marker pour référencer leur entité.
  • Le champ value contient une valeur de nœud unifiée (par exemple, une valeur de remise ou un titre d'attribut) lorsque cela est applicable, et est null sinon.

📊 Tableau de référence rapide

MéthodeDescription
getFilterByMarker()Obtenez un filtre de contenu par son marqueur

❓ Questions fréquentes (FAQ)

D'où viennent les filtres de contenu ?

Les filtres de contenu sont configurés dans le panneau d'administration OneEntry. Le SDK les récupère en lecture seule par marqueur.


Comment rendre un filtre multi-niveaux ?

Parcourez récursivement le tableau items - chaque nœud peut contenir un tableau children avec la même structure de nœud.


🎓 Meilleures pratiques

  • Référencez les filtres par marqueur, jamais par un titre d'affichage.
  • Demandez le filtre dans la langue actuelle de l'utilisateur via langCode.
  • Mettez en cache les filtres - ils changent rarement.

🔗 Documentation connexe