Scénario
La section de catégorie doit prendre en charge la pagination et afficher 3 produits par page. Si possible, le premier produit de chaque page sera un produit sponsorisé. Les produits de cette page de catégorie ont la structure suivante :resolvedBidId est null lorsque le produit n’est pas promu et contient un ID de chaîne lorsqu’il l’est.
Notre objectif est d’avoir le pseudo-code en place pour un point de terminaison qui pourrait créer des listes de tels produits.
1. Interroger vos résultats organiques
La première étape sera d’interroger vos résultats organiques. Les produits qui devraient être affichés pour une page et une catégorie spécifiques. Le code pour le faire pourrait ressembler à ceci :Shoes, et qu’il y a 3 produits ou plus disponibles dans cette catégorie. Ce code produirait alors quelque chose de similaire à ceci :
resolvedBidId, ajoutons-le.
2. Organisation d’une enchère
Dans notre scénario, nous voulons organiser une enchère pour un seul emplacement :Vous ne savez pas comment organiser une enchère pour une catégorie ? Consultez ces
exemples.
products.
3. Interroger les données de produit pour les gagnants
Maintenant, lorsqu’il y a des gagnants. Nous devons interroger les données de produit pour eux.resolvedBidId pour compléter ces données. Mais, cette fois, nous ne devrions pas le définir sur null, car nous traitons maintenant des produits promus.
Si nous supposons que queryProductsByIds renverra des produits dans le même ordre que les ids fournis, nous pouvons ajouter les ID d’enchères comme suit :
Pourquoi cet ID d’enchère est-il nécessaire ? L’ID d’enchère est essentiel pour permettre à Topsort
d’attribuer des événements aux enchères et aux campagnes.
4. Fusion
Nous voulons afficher les produits promus au début de la liste. Pour y parvenir, nous devrons ajouter lespromoProducts au début des products.
Cependant, cela peut alors faire que products ait plus d’éléments que notre taille de page prévue de 3. Nous devons donc le découper pour rester dans cette taille de page.