JQ331
1
Discourse はまだ初心者ですが、それをカスタマイズするためにコードを記述する方法について学んでいます。特定の場所(一般的な出力エリアよりもターゲットを絞った場所)にコードを挿入する最良の方法を学ぼうとしています。その場所を制御するテンプレートをオーバーライドする必要があるようです。
つまり、カスタマイズダッシュボードの 領域で行うか、テーマとして使用する別の GitHub リポジトリで行うかにかかわらず、以下の手順を踏む必要があります。
- 編集する正しいテンプレートを見つける
- コーディングを行っている場所(ダッシュボード、リポジトリなど)でテンプレート全体を再出力する
- テンプレートに変更を加える
ステップ 1 が障害となっています。編集する正しいテンプレートをどのように見つけられますか?
私が把握しているのは以下の通りです。Discourse のテンプレートはこちらにあり、「実際の」編集対象となるテンプレートは一般的にコンポーネントファイルこちらにあります。
例として、グループインデックスページ(このページに相当)の各グループリストに1行を追加したいとします。そのテンプレートはどこにあるでしょうか?私の最善の推測では、グループカードテンプレートですが、Ember にまだ慣れていないため確信が持てません。
正しいテンプレートを特定するためのより確実な方法はありませんか?
JQ331
3
それは素晴らしいですね。Ember Inspectorのことをおっしゃっているのでしょうか?
「いいね!」 1
JQ331
4
わかりました。それを使ってみて、一つわからない点があります(おそらく私が Ember に慣れていないことが原因だとは思いますが):
Discourse の グループページ を見てみると、各グループエントリには名前とユーザー数が表示されています。
Ember インスペクタで確認すると、名前は groups-info テンプレートから来ていることがわかりますが、group-user-count はどこから来ているのでしょうか?(Ember インスペクタにはそのエントリは表示されていないようです)
JQ331
6
ありがとうございます。group-user-count が 55 行目に表示されているのを見つけました。
これは、例えば group-user-count の行の直前に新しい行を追加したい場合、その index.hbs ファイルの全 100 行をコードにコピーして、以下のように挿入する必要があるということでしょうか?
<script type="text/x-handlebars" data-template-name="groups/index">
[100 行]
</script>
JQ331
8
それは、周囲のアウトレット(components/group-info など)のコードを変更することを意味しますか?
編集:すみません、テンプレートとプラグインアウトレットを混同していました。プラグインアウトレットとは、Discourse チームがコード内に配置した(例:{{plugin-outlet name="topic-above-post-stream" args=(hash model=model)} のような)行であり、コードを変更するためのアンカーとして使用できるものであることを理解しました。
JQ331
9
編集: このフォローアップをこちらに移動しました。少し異なる問題に関するものであるためです。