Récupérer les données tierces pour la liste des sujets

Bonjour @Discourse,

Je souhaite afficher des données provenant d’API tierces sous le titre du sujet pour chacun d’eux sur la page de liste des sujets. Quelqu’un peut-il me guider sur la façon d’afficher les données en utilisant les meilleures pratiques ?

Comme je ne connais pas grand-chose à la personnalisation dans Discourse. Tout conseil serait d’une grande aide et apprécié !

Quelqu’un peut-il m’aider à résoudre ce problème ?

Si vous utilisez le composant de thème des points de terminaison de plugin, il vous montrera quel point de terminaison utiliser pour créer votre personnalisation.

cela ressemble à ce que vous voulez, le point de terminaison after-topic-list-item.

Liens vers d'autres sujets de développement de composants de thème

Developing Discourse Themes & Theme Components

Theme Developer Quick Reference Guide

Beginner's guide to using Discourse Themes

Developing Discourse Plugins - Part 1 - Create a basic plugin

Si vous cherchez de l’aide pour le développement de cette personnalisation, je vous suggère d’utiliser la catégorie Marketplace. :slight_smile:

1 « J'aime »

Merci @Lilly. En fait, je veux afficher des données d’une API tierce pour chaque sujet et pour cela, je cherche un moyen d’appeler l’API tierce lorsque les données se chargent sur la page de liste.

Donc, lorsque la page se charge, je devrais appeler l’API, puis je veux rendre les données. Pour le moment, je rassemble toutes les données de la liste et j’appelle l’API tierce, quelles que soient les données qui arrivent, je les ajoute simplement au DOM. Mais je veux récupérer les données lors du chargement paresseux de la page de liste des sujets.

C’est généralement une mauvaise idée. Si l’hôte qui sert l’API est lent, votre forum sera lent. Si l’hôte qui sert l’API est en panne, votre forum sera en panne. Si votre forum est débordé, l’API sera débordée.
Vous devriez charger les données de manière asynchrone, par exemple dans un job sidekiq, et les stocker avec le sujet.

1 « J'aime »

Merci @RGJ pour votre message !

Je sais que c’est une mauvaise idée, mais je suis nouveau sur Discourse et je n’en savais pas grand-chose. Maintenant, je vais chercher le job Sidekiq comme vous le suggérez.

J’ai une autre question. Le job Sidekiq pourra-t-il déterminer s’il y a de nouvelles données arrivant pour la page de liste des sujets ? ou dois-je faire quelque chose de différent pour faire savoir au job que la page de liste charge plus de données ?

Merci !

Le travail sidekiq ne saura pas si une liste de pages charge plus de données. Il est indépendant.

Le travail sidekiq chargera périodiquement les données à l’aide de l’API et les stockera avec le sujet.

Ensuite, lorsque la liste des sujets sera chargée, les données stockées seront récupérées. Considérez cela comme un mécanisme de mise en cache.

3 « J'aime »

Compris.

Merci beaucoup @RGJ !

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.