Wie man eine template.hbs von einem Plugin überschreibt

Hallo zusammen,

angenommen, ich möchte eine hbs-Vorlage eines Plugins überschreiben, zum Beispiel des hervorragenden Events-Plugins. Ich habe folgende Skripte ausprobiert:

<script type="text/x-handlebars" data-template-name="components/events-calendar-day">
   ***einige Anpassungen, damit das Kategorie-Symbol statt des Kreises angezeigt wird***
</script>
<script type="text/x-handlebars" data-template-name="/plugins/discourse-events/assets/javascripts/discourse/templates/components/events-calendar-day">
   ***einige Anpassungen, damit das Kategorie-Symbol statt des Kreises angezeigt wird***
</script>

aber sie werden nicht ausgeführt. Ich vermute, die Vorlage wird an diesem Ort nicht gefunden. Wie kann ich also darauf zugreifen? Befinden sich Plugin-Vorlagen in einem eigenen Verzeichnis? Wenn ja, wo genau? Dies wird im Theme-Leitfaden nicht erklärt.

Vielen Dank im Voraus!

Ich werde sicherstellen, dass ich Anweisungen dazu in den Hauptleitfaden aufnehme. Schau dir aber vorerst meine Antwort an:

3 „Gefällt mir“

Vielen Dank, aber das beantwortet meinen Anwendungsfall nicht:

Soweit ich verstehe, ist der «root»-Ordner (discourse/app/assets/javascripts/discourse/app/templates/), sodass ich auf eine Komponente in einem Unterordner über diesen Pfad zugreifen kann.

Das Template, auf das ich zugreifen möchte, befindet sich jedoch in:
discourse/plugins/discourse-events/assets/javascripts/discourse/templates/components/
was kein Unterordner des ersten ist. Gibt es eine Möglichkeit, diese zu ändern, ohne das Plugin zu forken?

Oder meinen Sie, ich sollte
/javascripts/discourse/templates/components/template-name
verwenden?
(Ich habe es versucht, und es scheint nicht zu funktionieren, aber ich habe möglicherweise einen anderen Fehler gemacht.)

Oder habe ich etwas falsch verstanden?

Vielen Dank im Voraus!

Vielleicht herrscht hier etwas Verwirrung bezüglich der Terminologie. In jedem Fall verwenden Sie einfach:

<script type="text/x-handlebars" data-template-name="javascripts/components/template-name">
  
</script>

Sie müssen im data-template-name nichts weiter angeben. Es wird korrekt zugeordnet.

3 „Gefällt mir“

Vielen Dank!
Das ist genau das, was ich gebraucht habe. :slight_smile:

2 „Gefällt mir“
3 „Gefällt mir“