Buscar dados de terceiros para lista de tópicos

Olá @Discourse,

Eu quero renderizar dados de APIs de terceiros sob o título do tópico para cada um deles na página da lista de tópicos. Alguém pode me guiar sobre como posso renderizar dados usando as melhores práticas?

Como não sei muito sobre personalização no Discourse. Qualquer conselho seria de grande ajuda e apreciado!

Alguém pode me ajudar a resolver este problema?

Se você usar o componente de tema plugin outlets, ele mostrará qual outlet usar para criar sua personalização.

parece que você quer o outlet after-topic-list-item.

Links para mais tópicos de desenvolvimento de componentes de tema

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

Se você estiver procurando por ajuda de desenvolvimento para criar esta personalização, sugiro usar a categoria Marketplace. :slight_smile:

1 curtida

Obrigado, @Lilly. Na verdade, quero exibir alguns dados de uma API de terceiros para cada tópico e, para isso, estou procurando uma maneira de chamar a API de terceiros quando os dados forem carregados na página da lista.

Portanto, quando a página for carregada, devo chamar a API e, em seguida, quero renderizar os dados. No momento, estou coletando todos os dados da lista e chamando a API de terceiros, e quaisquer dados que chegam eu apenas anexo esses dados ao DOM. Mas quero buscar dados no carregamento lento da página da lista de tópicos.

Isso geralmente é uma má ideia. Se o host que serve a API for lento, seu fórum será lento. Se o host que serve a API estiver inativo, seu fórum ficará inativo. Se o seu fórum estiver sobrecarregado, a API ficará sobrecarregada.

Você deve carregar os dados de forma assíncrona, por exemplo, em um job do sidekiq, e armazená-los com o tópico.

1 curtida

Obrigado @RGJ por enviar a mensagem!

Sei que é uma má ideia, mas sou novo no discourse e não sabia muito sobre ele. Agora, procurarei o job do sidekiq como você sugere.

Tenho mais uma pergunta. O job do sidekiq será capaz de descobrir se há novos dados chegando para a página da lista de tópicos? ou tenho que fazer algo diferente para que o job saiba que a página da lista carrega mais dados?

Obrigado!

O job do Sidekiq não saberá se uma lista de páginas carrega mais dados. É independente.

O job do Sidekiq carregará periodicamente os dados usando a API e os armazenará junto com o tópico.

Em seguida, quando a lista de tópicos for carregada, os dados armazenados serão recuperados. Veja isso como um mecanismo de cache.

3 curtidas

Entendido.

Muito obrigado @RGJ!

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