「テンプレートの上書き」とモバイル専用テンプレートのサポートを削除

以前は、テーマやプラグインの templates/ ディレクトリに、Discourse のルートまたはコンポーネントと同一の名前のファイルを追加することで、.hbs テンプレートをオーバーライドできました。これは非常に強力でしたが、メンテナンス上の大きな問題も伴いました。

そのため、過去数年間はテンプレートのオーバーライドを推奨しないようにしており、2024年11月に正式に非推奨となりました。現在では、コアコンテンツの代わりにコンテンツをレンダリングするために Wrapper Plugin Outlets を使用することがより良い解決策となっています。

今月(2025年3月)には、テンプレートオーバーライドに対する管理者警告バナーが導入され、第2四半期末までに完全にサポートを削除する予定です。

タイムライン

(推定日 - 変更される可能性があります)

  • :white_check_mark: 2024年11月 - 非推奨の導入

  • :white_check_mark: 2025年3月 - 管理者警告バナーの有効化

  • :white_check_mark: 2025年6月 - 機能の削除(6月2日週を目標)

テーマ/プラグインのアップグレード

テーマおよびプラグインの開発者は、ラッパープラグインアウトレットの詳細について、Plugin Outlet ガイドを参照してください。ユースケースに合わせて新しい拡張ポイントをリクエストしたい場合は、お気軽に PR または Dev トピックを開いてください。

「いいね!」 9

この管理画面の通知を引き起こしているテーマ/プラグインを簡単に確認する方法はありますか? すべてのテーマとプラグインを確認しましたが、それらのいずれのリポジトリのルートにも templates/ ディレクトリが見つかりませんでした。

「いいね!」 2

/assets/javascripts/discourse または /javascripts/discourse 内にあり、ルートにはありません。

「いいね!」 2

警告バナーには、テーマ/プラグインの名前が表示されるはずです。ブラウザの開発者コンソールにも出力されます。

そうでない場合は、非推奨の問題がある可能性があります。影響を受けているサイトへのリンクを共有していただけますか?

ありがとうございます。警告バナーには表示されませんでしたが、開発者コンソールには表示されました。ただし、あまり明確ではありませんでした。

このコンポーネントであることが判明しました。

「いいね!」 4

@JonahAragon1さん、ありがとうございます。テーマの特定はもっと明確であるべきなので、修正しますね :eyes:

「いいね!」 2

この変更により、警告バナーがテーマをより明確に識別するように修正されます。

This change will fix the warning banner so it identifies themes more clearly:

「いいね!」 4

DDGを検索候補に戻す解決策は見つかりましたか? とりあえずコンポーネントは無効にしました。

いいえ、フォームを完全に無効にすることにしました。私のコミュニティの誰もそれを使用していないと思いますし、その有用性もあまり感じていません。コンポーネントの作者がコアの変更を必要とするアップデートを提案しているのを見たので、おそらくすぐにまた動作するようになるでしょう。

「いいね!」 2

これは、experimental-usercard が完全に廃止される前に、experimental user card がコアに導入されることを意味しますか?現在、このコンポーネントでこの警告が表示されています GitHub - discourse/experimental-usercard

「いいね!」 1

experimental-usercard リポジトリをアーカイブし、テーマ コンポーネントを今後更新する予定はありません。そのため、2025 年 6 月にテンプレート オーバーライドがブロックされる前に無効にする必要があります。

実験の一部をコアに組み込むことを期待していますが、具体的な時期は未定です。ユーザー カードは UI の非常にカスタマイズされた部分であるため、それに大きな変更を加えるには、慎重な計画とエコシステム全体での変更が必要になります。

「いいね!」 3

この目標に向けてすべて順調に進んでいるため、6月2週目の週にテンプレートオーバーライドのサポートを廃止する予定です。

これは3.5の安定版リリースより前に行われるため、管理警告バナーを安定版3.4にバックポートしました。これにより、安定版を使用しているコミュニティは、3.5へのアップデート前に十分な警告を受け取ることができます。

(cc @RGJ、安定版で多くのフォーラムをホストしていることを知っているので)

「いいね!」 4

テンプレートのオーバーライドとモバイル固有のテンプレートのサポートは、廃止されました

「いいね!」 3

私も今、この一般的でないエラー(「デフォルト」テーマを指しているだけです)が発生しています。コンソールを確認するというヒントが役立ちました。カスタムCSSにあると思いますが、最近このフォーラムを引き継いだばかりなので、少し掘り下げる必要があります。いつ頃壊れることが予想されますか?そうすれば、時間内に掘り下げる計画を立てることができます。


Screenshot 2025-07-26 at 16.16.52

Discourse の最新バージョンではテンプレートのオーバーライドが削除されたため、古いバージョンを実行しているのだと思われます。次に最新バージョンにアップデートすると、オーバーライドは機能しなくなります。

おそらく、デフォルトのテーマに ````handlebars` のようなものがあり、それを削除する必要があります。

「いいね!」 1

ふむ。興味深い。DevOpsチームが3.4.6にアップデートしてから、このバナーが表示され始めた。カスタムオーバーライドはまだレンダリングされている(そして、それがどこにあるか/どのように見えるかについてのあなたの指摘は正しい)。ChatGPTがこのオーバーライドの機能を誤解している可能性がある。まだすべてを把握しているところだ

すべて修正され、警告は消え、スタイルも維持された。やった。

「いいね!」 1