Beste Strategie, um die richtige Vorlage zum Bearbeiten zu finden?

Ich bin noch neu bei Discourse, lerne aber mehr darüber, wie man darauf aufbauend Code schreibt, um Dinge anzupassen. Ich versuche, den besten Weg zu finden, Code an bestimmten Stellen auf einer Seite einzufügen (zielgerichteter als in einem allgemeinen Ausgabebereich). Es sieht so aus, als müsste ich die Vorlage überschreiben, die diesen Bereich steuert.

Das bedeutet für mich, dass ich, egal ob ich es im -Bereich meines Anpassungs-Dashboards oder in einem separaten GitHub-Repo mache, das ich als Theme verwende, Folgendes tun muss:

  1. Die richtige Vorlage zum Bearbeiten finden
  2. Die gesamte Vorlage dort, wo ich meinen Code schreibe (Dashboard, Repo usw.), erneut ausgeben und
  3. die gewünschten Änderungen an der Vorlage vornehmen

Schritt 1 erweist sich als Hürde. Wie finde ich die richtige Vorlage zum Bearbeiten?

Das habe ich herausgefunden: Die Discourse-Vorlagen finden sich hier, und es scheint, dass die „echten

Hast du die Ember-Browsererweiterung ausprobiert?

Sie zeigt Vorlagen und Komponenten an:

Das klingt großartig. Meinst du den Ember Inspector?

Verstanden. Dabei gibt es eine Sache, die ich nicht ganz verstehe (wahrscheinlich liegt es daran, dass ich noch neu bei Ember bin):

Wenn du dir die Gruppen-Seite von Discourse ansiehst, hat jeder Gruppenbeitrag einen Namen und eine Benutzeranzahl.

Mit dem Ember Inspector kann ich sehen, dass der Name aus der groups-info-Vorlage stammt, aber woher kommt die group-user-count? (Sie scheint keinen Eintrag im Ember Inspector zu haben)

Danke. Ich sehe, dass group-user-count auf Zeile 55 erscheint.

Bedeutet das, dass ich, wenn ich beispielsweise eine Zeile direkt vor der Zeile mit group-user-count hinzufügen möchte, die gesamten 100 Zeilen dieser index.hbs-Datei in meinen Code kopieren und so einfügen müsste:
<script type="text/x-handlebars" data-template-name="groups/index">
[100 Zeilen hier]
</script>

  • Normalerweise prüfst du, ob eine geeignete Plugin-Outlet vorhanden ist, und nutzt diese.
  • Du kannst versuchen, Elemente mit jQuery anzusprechen, aber das funktioniert nicht, wenn du ein iteratives Element ändern möchtest.

Wenn du keines dieser beiden Dinge tun kannst:

  • Bitte das Discourse-Team, ein Plugin-Outlet hinzuzufügen, und begründe dies.
  • Ersetze, wie du vorschlägst, die gesamte Vorlage durch deine eigene.

Meinst du damit, den Code in den umliegenden Outlets zu ändern? (wie bei components/group-info)

EDIT: Entschuldigung, ich habe Templates und Plugin-Outlets verwechselt. Ich verstehe, dass Plugin-Outlets Zeilen im Discourse-Code sind (wie {{plugin-outlet name="topic-above-post-stream" args=(hash model=model)}), die vom Discourse-Team als Anker platziert wurden, die du verwenden kannst, um den Code zu ändern.

EDIT: Ich habe dieses Follow-up hierher verschoben, da es sich um ein leicht anderes Problem handelt.