トピックリスト用のサードパーティデータを取得

こんにちは @Discourse

トピックリストページで、各トピックのタイトルの下にサードパーティAPIからのデータをレンダリングしたいと考えています。ベストプラクティスを使用してデータをレンダリングする方法を教えていただけますか?

Discourseのカスタマイズについてはあまり詳しくありません。どのようなアドバイスでも大変助かりますし、感謝いたします!

どなたかこの問題の解決にご協力いただけませんか?

プラグインのアウトレットテーマコンポーネントを使用すると、カスタマイズを構築するためにどのコンポーネントを使用すればよいかがわかります。

after-topic-list-item コンポーネントが必要なようです。

テーマコンポーネント開発に関するその他のトピックへのリンク

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

このカスタマイズの構築に関する開発ヘルプをお探しの場合は、Marketplace カテゴリをご利用ください。 :slight_smile:

「いいね!」 1

@Lillyさん、ありがとうございます。実際には、トピックごとにサードパーティAPIからデータを表示したいと考えており、リストページでデータがロードされるときにサードパーティAPIを呼び出す方法を探しています。

ページがロードされたときにAPIを呼び出し、その後データをレンダリングしたいと思います。現在、リストデータをすべて収集し、サードパーティAPIを呼び出して、取得したデータをDOMに追加しています。しかし、トピックリストページの遅延読み込みでデータを取得したいのです。

これは一般的に悪い考えです。APIを提供するホストが遅い場合、フォーラムも遅くなります。APIを提供するホストがダウンしている場合、フォーラムもダウンします。フォーラムが過負荷になった場合、APIも過負荷になります。

Sidekiqジョブなどで非同期にデータを読み込み、トピックと一緒に保存する必要があります。

「いいね!」 1

メッセージありがとうございます、@RGJ

悪い考えだとわかっていますが、Discourseは初めてだったので、あまりよく知りませんでした。ご提案いただいたように、Sidekiqジョブを探してみます。

もう一つ質問があります。Sidekiqジョブは、トピックリストページに新しいデータが入ってくるかどうかを判断できるのでしょうか?それとも、ジョブにリストページがさらにデータを読み込むことを知らせるために、何か別のことをする必要があるのでしょうか?

ありがとうございます!

Sidekiq ジョブは、ページリストがさらにデータを読み込むかどうかを知ることはありません。独立しています。

Sidekiq ジョブで API を使用してデータを定期的に読み込み、トピックと共に保存します。

その後、トピックリストが読み込まれるときに、保存されたデータが取得されます。キャッシュメカニズムと考えてください。

「いいね!」 3

了解しました。
@RGJさん、本当にありがとうございます!

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