Topic Template Placeholder Text テーマコンポーネント

古いバージョンでのテストは非常に困難です。これは最新の tests-passed で動作するように作られています。単に古い Discourse インスタンスとは互換性がない可能性も十分にあります。

コンソールで JavaScript エラーが表示されていませんか?それが不完全なレンダリングの原因になっているかもしれません。これはスタイリング用のコンポーネントではありません :slight_smile:

ごく稀に、コア側で大規模な変更が行われ、必要なオーバーライドが古いコードベースではサポートされない形で変更されることがあります。とはいえ、私の PR にはコアの変更に対して堅牢であるように非常に慎重に実装されたオーバーライドが多数含まれています。それでも限界はあります。

返信ありがとうございます @merefield

コンソールに表示されているこのエラーは、確かに関連しているように思われます:

はい、それは非常に基本的な非互換性です。デコレーターは、以前のインポート先が非推奨になったため、新しい場所からインポートされるようになりました。おそらく、古いインストールにはその場所が存在しないでしょう。

Discourse をより新しいバージョンに更新されるまでお待ちいただくことをお勧めします。

すごい!大丈夫ですよ。@merefield さん、素早い返信ありがとうございます :smiley:

「いいね!」 1

@Ryan_NR - それまでの間、同じ依存関係が不要かもしれない元のバージョンを試してみてはいかがでしょうか?

「いいね!」 1

テーマのブランチ機能は動作すると思われますので、1 つのテーマに対して 3 つのブランチ(tests-passed、beta、stable)を維持することも可能です。

ただし、これでは全員をカバーできず、特にメンテナーがボランティアの場合、機能を保ちながら維持管理するための追加作業が非常に多くなります。

@merefield さん、ありがとうございます。分岐が混乱を招くかもしれないと考え、新しいリポジトリを作成しました。これで @Ryan_NR さんのバージョン依存関係が解消されるか確認したいのですが。

「いいね!」 1

この場合、あなたの解決策の方がシンプルですね。私は戦略的に自分の考えを話していただけです :slight_smile:

やってみます!ありがとう @Rhidian :smiley:

「いいね!」 1

了解しました……これで完璧に動作します!

二人とも本当にありがとう! :smiley: :smiley:

どういたしまして。お手伝いできて嬉しいです :blush:

同じ問題に直面する人のために、手順を更新しました。

「いいね!」 2

ちょうど気づいたのですが、このテキストはトピック作成時だけでなく、投稿への返信時にも表示されるようです。少なくとも私の状況では、これはあまり適切に機能していません。トピックテンプレートが現在機能しているのと同じように、トピック作成時のみ表示されるようにすることは可能でしょうか?

「いいね!」 3

よく見つけましたね。オリジナルバージョンは正しく動作します。つまり、トピックテンプレートと同じように、新しいトピックでのみ表示されます。

オリジナルバージョンはこちらからダウンロードできます。

オリジナルバージョンのリポジトリ: https://github.com/naidihr/discourse-topic-template-placeholders_original

これは、テンプレートテキストが一致する場合に、テンプレートテキストをプレースホルダーに移動させるための単純な jQuery の切り替え処理でした。

@merefield さん、もう一度これを見ていただけませんか?

はい、つまり最初の投稿時のみこの処理を実行したいということですね?その後、2 回目以降の投稿でも同様の処理を実行したいケースはありますか?

ロバートさん、ありがとうございます。いいえ、説明通り、元の動作と同じように動作します。カスタムテンプレートテキストがコンポーザー内のテキストと一致する場合のみ、プレースホルダーテキストとして表示するために変換を行うべきです。

そのため、一度レンダリングされた後にそのチェックを行う方法しか思いつかず、当初は JQuery のハックを行ったのです。

解決し、デフォルト値を TRUE にする設定を追加しました。これにより、最初の投稿にのみ制限されるようになりました。

これにより、実際には機能が追加されました。必要に応じて、トピックテンプレート(またはカスタムプレースホルダーテキスト)をすべての投稿に適用できるようになりました :slight_smile:

開発環境と本番環境で十分にテストしましたが、ご確認いただければ幸いです。

「いいね!」 4

ロバートさん、ありがとうございます。テスト用にマージしました。

記載された問題は解決しましたが、新しい問題が発生しています。ドラフトを再オープンすると、ドラフトのテキストが失われてしまいます。ご確認いただけますでしょうか?

動作としては、エディタに表示されるテキストがテンプレートテキストと一致する場合にのみ変換を行うべきです。

現時点では再現できていません。この現象を確認された際の正確な再現手順(STR)と、当時の正確な設定を教えてください。私の下書きの返信と下書きの新規トピックは正常に復元されました。

カスタムテンプレートが設定されたトピックに移動すると、この問題が発生します。下書きを作成し、サイトを離れます。その後、サイトに戻り、右上のアバターロゴと名前をクリックして「下書き」を選択します。

保存された下書きの「再開」をクリックします。

テキストが表示されず、代わりにプレースホルダーテキストが表示されます。

Discourse 4.4.3

「いいね!」 1

@merefield と一緒に作業した結果、この問題と別の問題を解決できたと考えています。

@davidkingham - ご確認いただけますでしょうか?