Obtenir le nombre total de produits par page
Cette méthode renvoie le nombre total de produits associés à une URL de page de catalogue spécifique. Elle est utile pour la pagination lorsque vous devez savoir combien de produits existent sur une page donnée, y compris ou excluant les pages enfants imbriquées.
✅ Objectif du scénario :
- Obtenir le nombre de produits sur une page de catalogue spécifique
- Faire la distinction entre les produits directs et les produits incluant les pages imbriquées
- Utiliser le nombre pour la pagination sur les pages de catégorie ou de catalogue
✅ Ce dont vous avez besoin :
- Une PROJECT_URL et un APP_TOKEN valides pour l'authentification avec l'API OneEntry.
- Au moins une page de catalogue avec des produits dans le projet
- L'URL (marqueur de page) de la page de catalogue cible
📌 Important :
- Ces exemples n'incluent pas la gestion des erreurs.
- Vous pouvez gérer les erreurs en utilisant un bloc try-catch ou en employant une construction comme await Promise.catch((error) => error).
- Passez un tableau vide [] pour compter tous les produits sur la page sans filtrage.
- totalInCategory compte uniquement les produits directement sur la page donnée ; totalInCategoryWithNested inclut également les produits sur les pages enfants.
📚 Voir dans la documentation :
📦 Référence SDK :
Essayez-le en direct
Exécutez cette méthode de manière interactive dans le bac à sable JS SDK — connectez votre Project URL et App Token lors de votre première visite, puis ouvrez :
- Obtenir le nombre total de produits par page — Cette méthode renvoie le nombre total de produits associés à une URL de page de catalogue spécifique. Elle est utile pour la pagination lorsque vous devez savoir combien de produits existent sur une page donnée, y compris ou excluant les pages enfants imbriquées.
Scénario
1. Importer defineOneEntry depuis le SDK et définir PROJECT_URL et APP_TOKEN
Exemple :
import { defineOneEntry } from 'oneentry';
import { IFilterParams } from 'oneentry/dist/products/productsInterfaces';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
2. Créer un client API avec defineOneEntry()
Exemple :
const { Products } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
3. Optionnellement définir un corps de filtre (tableau vide = tous les produits sur la page)
Exemple :
// To filter, use conditions like: [{ attributeMarker: 'price', conditionMarker: 'mth', conditionValue: 100, isNested: false }]
const body: IFilterParams[] = [];
4. Appeler Products.getProductsCountByPageUrl() avec getProductsCountByPageUrl()
Exemple :
const count = await Products.getProductsCountByPageUrl('products', body);
if ('statusCode' in count) {
throw new Error(count.message);
}
console.log('Count data: ', count);
Résultat :
{
"totalAll": 12,
"totalInCategory": 3,
"totalInCategoryWithNested": 3
}
Exemple final
// 1. Import defineOneEntry from SDK and define PROJECT_URL and APP_TOKEN
import { defineOneEntry } from 'oneentry';
import { IFilterParams } from 'oneentry/dist/products/productsInterfaces';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
// 2. Creating an API client with [defineOneEntry()](/docs/index/#Installation)
const { Products } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
// 3. Optionally define a filter body (empty array = all products on the page)
// To filter, use conditions like: [{ attributeMarker: 'price', conditionMarker: 'mth', conditionValue: 100, isNested: false }]
const body: IFilterParams[] = [];
// 4. Call Products.getProductsCountByPageUrl() with [getProductsCountByPageUrl()](/docs/products/#getProductsCountByPageUrl)
const count = await Products.getProductsCountByPageUrl('products', body);
if ('statusCode' in count) {
throw new Error(count.message);
}
console.log('Count data: ', count);