ブランドヘッダーテーマコンポーネントのカスタマイズ

Discourse の「ブランドヘッダーテーマコンポーネント」をカスタマイズしようとしていますが、どのようなアプローチを取るべきか分かりません。サブメニュー項目を追加したいと考えています。例えば、リンク構造は以下のようになります。

video
audio - books
          - lectures,
topics - web development
           - technology
           - engineering
support

しかし、このコンポーネントにはサブメニュー項目を追加する標準的なオプションがありません。私が知る限り、デスクトップモードでのみ機能する「Discourse Header Submenus」というコンポーネントがありますが、私が望む機能の一部しかありません。

このコンポーネントにはプラグインのアウトレットがないため、コードを注入することができません。また、コアの Discourse コードベースの一部ではないため、テンプレートを上書きできるとは思えません。Discourse によって作成・保守されているものですが、アクセスできる範囲は限られていると認識しています。

リンクは API から取得する予定ですが、現段階ではハードコーディングで試しています。

より一般的に、コアの Discourse リポジトリ以外でテーマコンポーネントをカスタマイズすることは可能でしょうか?どのようなアプローチが適切でしょうか?

ご協力ありがとうございます!

「いいね!」 1

ハーレー様

はい、テーマコンポーネントをフォークして、要件に応じてコードを変更することでカスタマイズできます。その後、フォークしたGitHub URLからインスタンスにそのコンポーネントをインストールできるようになります。

Meghna、返信ありがとうございます!素晴らしいです。早速着手しましたが、このアプローチで問題が発生しました。フォークしたテーマコンポーネントに新しい設定を入力しようとしましたが(Discourseインスタンスのテーマコンポーネント管理パネル経由)、元のテーマコンポーネントの設定がフォークしたバージョンにも引き続き適用されていました。新しいコンポーネントは存在しているように見えましたが、古いものと同じ設定でした。これは、名前が同じであることが原因だとお考えですか?元のテーマコンポーネントをテーマから削除しようとしましたが、テーマのプレビューから元のバージョンとフォークしたバージョンの両方が削除されてしまいました。ご協力ありがとうございます!