oca
1
皆様、こんにちは。
プラグイン(例えば素晴らしい「Events」プラグインなど)の hbs テンプレートを上書きしたいと考えています。
以下のスクリプトを試してみましたが、実行されません。
<script type="text/x-handlebars" data-template-name="components/events-calendar-day">
***カテゴリーアイコンを表示させるための処理***
</script>
<script type="text/x-handlebars" data-template-name="/plugins/discourse-events/assets/javascripts/discourse/templates/components/events-calendar-day">
***カテゴリーアイコンを表示させるための処理***
</script>
おそらく、その場所でテンプレートが見つからないためだと思います。では、どのようにアクセスすればよいのでしょうか?プラグインのテンプレートは独自のディレクトリにあるのでしょうか?もしそうなら、どこにあるのでしょうか?これは テーマガイド には説明されていません。
よろしくお願いいたします。
tshenry
(Taylor)
2
メインのガイドにこの手順を追加することを確約しますが、現時点では私の回答をご覧ください。
oca
3
ありがとうございます。ただし、それは私のユースケースには当てはまらないようです。
私の理解では、「root」フォルダは discourse/app/assets/javascripts/discourse/app/templates/ なので、このパスからサブフォルダ内のコンポーネントにアクセスできます。
しかし、アクセスしたいテンプレートは以下の場所にあります:
discourse/plugins/discourse-events/assets/javascripts/discourse/templates/components/
これは最初のフォルダのサブフォルダではありません。プラグインをフォークせずにこれらを変更する方法はありますか?
それとも、
/javascripts/discourse/templates/components/template-name
を使用すべきだとおっしゃっているのでしょうか?
(試しましたが、うまくいかないようです。もしかしたら他の間違いをしているのかもしれません。)
あるいは、何かを誤解しているのでしょうか?
よろしくお願いいたします。
tshenry
(Taylor)
4
もしかすると、用語について混乱があるかもしれません。いずれにせよ、以下のようにしてください:
<script type="text/x-handlebars" data-template-name="javascripts/components/template-name">
</script>
data-template-name に他のものを追加する必要はありません。正しくマッピングされます。
oca
5
どうもありがとう!
まさに私が求めていたものです。