Introduction
Gérez les produits de commerce électronique avec des catalogues dynamiques, des filtres et une recherche.
🎯 Que fait ce module ?
Le module Products (Catalogue) est un module autonome qui vous permet de créer, récupérer, filtrer et gérer des produits dans votre boutique en ligne ou vos collections multimédias. Il fournit des outils très flexibles pour créer des catalogues de produits ou des galeries multimédias avec des fonctionnalités de recherche, de filtrage et d'organisation puissantes.
Le Catalogue permet de créer, télécharger, éditer et filtrer des catalogues via une interface intuitive. Au-delà du commerce électronique, il prend en charge des applications alternatives comme les galeries multimédias, démontrant sa polyvalence en tant qu'outil de gestion de contenu.
Considérez-le comme votre entrepôt numérique - vous gérez votre inventaire de produits dans le panneau d'administration de OneEntry (Catalogue > Produits), et votre application récupère les produits dynamiquement avec une recherche, des filtres et un tri puissants.
📖 Explication Simple
Imaginez que vous construisez une boutique en ligne vendant :
- 👟 Baskets - avec tailles, couleurs, prix
- 📱 Électronique - avec spécifications, images, avis
- 👕 Vêtements - avec tailles, matériaux, variantes
- 📚 Livres - avec auteurs, prix, descriptions
✅ Au lieu de coder chaque produit en dur, vous :
- Ajoutez des produits dans le panneau d'administration de OneEntry (avec tous les détails)
- Récupérez des produits dynamiquement en utilisant ce module
- Filtrez par catégorie, gamme de prix, disponibilité
- Recherchez des produits par nom ou description
- Triez par prix, date, popularité
- Mettez à jour les prix/le stock sans redéployer
Exemple du monde réel :
❌ Sans le module Products (codé en dur) :
- Ajouter un nouveau produit → Changer le code → Déployer
- Changer le prix → Changement de code → Déployer
- 1000 produits = fichier de code massif
✅ Avec le module Products (dynamique) :
- Ajouter un nouveau produit → Mettre à jour dans l'administration → En direct instantanément
- Changer le prix → Mettre à jour dans l'administration → En direct instantanément
- 10 000 produits = simples appels API
✨ Concepts Clés
Qu'est-ce qu'un Produit ?
Un produit est un article que vous vendez, contenant :
- Informations de base - Nom, description, SKU, prix
- Images - Photos du produit, galerie
- Variantes - Tailles, couleurs, options (par exemple, "T-shirt rouge taille M")
- Inventaire - Quantité en stock, disponibilité
- Attributs personnalisés - Tous les champs que vous définissez (marque, matériau, poids, etc.)
- SEO - Titre méta, description, mots-clés
- Statut - Actif, brouillon, en rupture de stock
- Localisation - Support multilingue
Structure du Produit
Les produits peuvent avoir différentes structures :
| Type | Description | Exemple |
|---|---|---|
| Produit Simple | Article unique, sans variantes | Livre, Affiche |
| Produit avec Variantes | Plusieurs options (taille, couleur) | T-shirt (S/M/L, Rouge/Bleu) |
| Produit Numérique | Articles téléchargeables | E-book, Logiciel |
| Pack | Groupe de produits | Pack de démarrage, Coffret cadeau |
Organisation des Produits
Les produits sont organisés à travers plusieurs fonctionnalités clés :
- Catégories - Organisez en sections (Les catégories sont des pages de type Catalogue créées dans le module Pages)
- Statuts des Produits - Créez des conditions de filtrage supplémentaires au-delà des filtres d'attributs existants
- Liens de Produits - Établissez des connexions entre les produits en fonction des critères d'attributs
- Filtres de Produits - Recherche rapide en utilisant des critères de filtrage spécifiés
- Attributs personnalisés - Marque, Taille, Couleur, Matériau, etc.
Exemple de hiérarchie :
📁 Électronique
├─ 📱 Smartphones
│ ├─ iPhone 15 Pro
│ └─ Samsung Galaxy S24
└─ 💻 Ordinateurs portables
├─ MacBook Pro
└─ Dell XPS
📁 Vêtements
├─ 👕 T-Shirts
└─ 👖 Jeans
📋 Ce Que Vous Devez Savoir
Architecture du Catalogue
Important : Les catégories du catalogue sont des pages de type Catalogue créées via le module Pages. Vous devez d'abord créer les catégories de catalogue avant d'ajouter des produits.
Fonctionnalités du Catalogue :
- Onglet Produits - Espace de travail principal pour créer et gérer les éléments du catalogue
- Filtres de Produits - Recherche rapide en utilisant des critères spécifiés
- Liens de Produits - Connectez des produits en fonction des critères d'attributs (par exemple, tous les téléphones noirs)
- Statuts des Produits - Conditions de filtrage supplémentaires pour l'organisation
- Téléchargement de Catalogue - Importation en masse des données du catalogue
- Paramètres - Options de configuration avec des champs de saisie numériques
Façons d'Obtenir des Produits
| Méthode | Quand l'utiliser | Exemple |
|---|---|---|
| getProducts() | Lister les produits avec filtres/recherche | Page de catalogue |
| getProductsByPageId() | Produits d'une catégorie spécifique (par ID) | Page de catégorie |
| getProductsByPageUrl() | Produits d'une catégorie spécifique (par URL) | Page de catégorie par URL |
| getProductById() | Obtenir un produit unique par ID | Page de détail du produit |
| getRelatedProductsById() | Obtenir des produits similaires | Section "Vous pourriez aussi aimer" |
| searchProduct() | Rechercher des produits par requête | Fonctionnalité de recherche |
Pagination Expliquée Simplement
Lorsque vous avez 1000 produits, vous ne les chargez pas tous en même temps :
Formule d'offset : offset = (pageNumber - 1) * limit
Options de Tri
Trier les produits par différents champs :
| sortKey | Ce que cela fait | Exemple d'utilisation |
|---|---|---|
| price | Trier par prix | Afficher les moins chers en premier |
| date | Trier par date de création | Afficher les produits les plus récents |
| title | Trier par ordre alphabétique | Liste de produits A-Z |
| position | Ordre personnalisé (par défaut) | Ordre choisi par l'administrateur |
| id | Trier par ID | Tri technique |
Ordre de tri :
- ASC (Croissant) - Bas à haut (A→Z, 0→9, pas cher→cher)
- DESC (Décroissant) - Haut à bas (Z→A, 9→0, cher→pas cher)
Filtrage des Produits
Utilisez des filtres pour affiner les résultats :
Marqueurs de condition :
| Marqueur | Signification | Exemple |
|---|---|---|
| eq | Égal (correspondance exacte) | Prix = 50 $ |
| neq | Pas égal | Statut ≠ "épuisé" |
| in | Contient (un des) | Couleur dans ["rouge", "bleu"] |
| nin | Ne contient pas | Catégorie pas dans ["archivé"] |
| mth | Supérieur à | Prix > 100 $ |
| lth | Inférieur à | Prix < 50 $ |
| exs | Existe (a une valeur) | A une remise |
| nexs | N'existe pas (vide) | Pas de remise |
Statut et Liens des Produits
Statuts des Produits créent des conditions de filtrage supplémentaires au-delà des filtres d'attributs existants pour une organisation de produit plus sophistiquée.
Liens de Produits permettent d'établir des connexions entre les produits en fonction des critères d'attributs. Par exemple, vous pouvez lier tous les produits ayant le même attribut de couleur (par exemple, tous les téléphones noirs ensemble).
📊 Tableau de Référence Rapide - Méthodes Courantes
| Méthode | Description | Cas d'utilisation |
|---|---|---|
| getProducts() | Obtenir tous les produits avec filtrage/tris | Page principale du catalogue |
| getProductById() | Obtenir un produit unique par ID | Page de détail du produit |
| getProductsByPageId() | Obtenir des produits d'une catégorie par ID | Page de catégorie |
| getProductsByPageUrl() | Obtenir des produits d'une catégorie par URL | Page de catégorie par URL |
| getRelatedProductsById() | Obtenir des produits similaires | Section "Vous pourriez aussi aimer" |
| searchProduct() | Rechercher des produits par requête | Fonctionnalité de recherche |
| getProductsCount() | Obtenir le nombre total de produits | Informations de pagination |
| getProductsCountByPageId() | Obtenir le nombre de produits par ID de catégorie | Pagination de catégorie |
| getProductsCountByPageUrl() | Obtenir le nombre de produits par URL de catégorie | Pagination de catégorie |
| getProductBlockById() | Obtenir un bloc de produit par ID | Blocs de contenu de produit |
| getProductsEmptyPage() | Obtenir la structure de page vide de produits | Gestion de l'état vide |
| getProductsPriceByPageUrl() | Obtenir les prix des produits par URL de page | Filtrage des prix |
❓ Questions Fréquemment Posées (FAQ)
Puis-je filtrer par plusieurs critères à la fois ?
Oui ! Combinez plusieurs filtres dans un tableau.
Comment gérer les variantes de produits (tailles, couleurs) ?
Les variantes de produits sont stockées dans attributeValues.
Comment implémenter le bouton "Charger Plus" ?
Utilisez l'offset pour charger plus de produits.
Puis-je afficher des produits de plusieurs catégories ?
Oui, utilisez le marqueur de condition category in.
Comment implémenter la section "Nouveautés" ?
Trier par date de création ou utiliser la catégorie parente pour un tri manuel.
💡 Notes Importantes
Configuration des Catégories de Catalogue
Important : Avant d'ajouter des produits, vous devez créer des catégories de catalogue via le module Pages. Les catégories du catalogue sont des pages de type Catalogue.
Flux de travail :
- Allez dans le module Pages dans le panneau d'administration
- Créez des pages de type "Catalogue"
- Ces pages deviennent vos catégories de produits
- Ajoutez des produits à ces catégories via Catalogue > Produits
Fonctionnalités du Catalogue
Le module Catalogue fournit des outils complets :
- Onglet Produits - Espace de travail principal pour créer/ gérer les éléments du catalogue
- Filtres de Produits - Permettent une recherche rapide en utilisant des critères spécifiés
- Liens de Produits - Connectez des produits connexes en fonction des attributs
- Statuts des Produits - Créez des conditions de filtrage personnalisées
- Téléchargement de Catalogue - Importation en masse de produits
- Paramètres - Configurez le comportement du catalogue
Au-delà du Commerce Électronique
Le Catalogue n'est pas limité aux produits - il peut être utilisé pour :
- Galeries Multimédias - Photos, vidéos, collections d'œuvres d'art
- Articles de Portfolio - Travaux de design, études de cas
- Bibliothèques de Documents - Ressources, téléchargements
- Catalogues d'Événements - Conférences, webinaires
- Collections de Recettes - Nourriture, boissons, cuisine
Optimisation des Performances
Mettez en cache les produits fréquemment consultés pour réduire les appels API et améliorer les temps de chargement.
Toujours Filtrer les Produits Actifs
En production, montrez toujours uniquement les produits actifs en filtrant avec statusId: 1.
Gérer les Images Manquantes
Fournissez des images de secours pour les produits sans images afin de maintenir une interface utilisateur cohérente.
🎓 Meilleures Pratiques
- Utilisez toujours la pagination (limite + offset)
- Filtrez par
statusId: 1en production - Mettez en cache les listes de produits pour réduire les appels API
- Gérez les "ruptures de stock" avec soin
- Fournissez des images de secours
- Utilisez des marqueurs pour les produits en vedette (pas d'ID)
- Implémentez la recherche avec un délai
- Ajoutez des états de chargement dans l'interface utilisateur
Plus d'informations sur le Catalogue dans le panneau d'administration de OneEntry : https://doc.oneentry.cloudhttps://doc.oneentry.cloud/docs/category/catalog
Définition du module Products
const { Products } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Ce module accepte un ensemble de paramètres utilisateur appelés userQuery. Si les paramètres ne sont pas passés à la méthode, la valeur par défaut sera appliquée. Certaines méthodes acceptent le corps comme paramètre pour le filtrage. Si vous ne souhaitez pas configurer le tri, passez un tableau vide ou ne passez rien.
Paramètres :
const userQuery = { offset: 0, limit: 30, sortOrder: 'DESC', sortKey: 'id',}
Schéma
offset : nombre
Paramètre de pagination. Par défaut 0
exemple : 0
limit : nombre
paramètre de pagination. Par défaut 30
exemple : 30
sortKey : chaîne
Champ pour le tri (par défaut non défini - tri par position, valeurs possibles : id, title, date, price, position)
Valeurs disponibles : id, position, title, date, price
sortOrder : chaîne
ordre de tri DESC | ASC (par défaut DESC)
exemple : "DESC"
"conditionMarker" par lequel les valeurs sont filtrées (non défini par défaut), valeurs possibles :
'in' - Contient,
'nin' - Ne contient pas,
'eq' - Égal,
'neq' - Pas égal,
'mth' - Supérieur à,
'lth' - Inférieur à,
'exs' - Existe,
'nexs' - N'existe pas
🔗 Documentation Connexe
- Panneau d'Administration OneEntry - Catalogue - Documentation officielle du panneau d'administration
- Module Pages - Créer des catégories de catalogue (pages de type Catalogue)
- Module AttributesSets - Champs et attributs de produit personnalisés
- Module Templates - Modèles d'affichage de produits
- Module Blocks - Blocs de contenu de produit réutilisables
- Module Orders - Gérer les commandes de produits