discourse forumで特定のトピックにユニークなHTMLコンテンツをTopic Bodyの下に追加する方法

this.model には、idtitle など、トピックデータが含まれています。それを使用できます。

たとえば、トピック ID 90 または 38 を許可するには、次のように記述します。

<script type="text/x-handlebars" data-template-name="connectors/topic-area-bottom/custom-html">
  {{#if (or (eq this.model.id 90) (eq this.model.id 38))}}
    <div class="banner-control">
      <!-- Unique HTML content goes here -->
    </div>
  {{/if}}
</script>

ただし、Theme CLI を使用し、分割ファイル で作業することを推奨します。

ここにさらに条件を追加したり、何らかのロジックを記述したりするのは困難です。registerConnectorClass を使用することは可能ですが、非推奨です。

最新の方法は、renderInOutlet を Glimmer コンポーネントと共に使用することです。例: GitHub - discourse/discourse-custom-header-links

特定ののアウトレットにレンダリングしたいとのことですね。

テンプレートはここで定義されています。this.shouldShow に注目してください。
https://github.com/discourse/discourse-custom-header-links/blob/main/javascripts/discourse/components/custom-header-links.hbs#L1

次に、ここでコンポーネントを表示するかどうかを判断するロジックを追加できます。
https://github.com/discourse/discourse-custom-header-links/blob/main/javascripts/discourse/components/custom-header-links.js#L5-L7

お役に立てば幸いです。追加のサポートが必要な場合はお知らせください。:+1:

「いいね!」 5