Ich versuche, die “Brand Header Theme Component” von Discourse anzupassen. Ich bin mir nicht sicher, welchen Ansatz ich hier verfolgen soll. Ich möchte Untermenüpunkte hinzufügen, z. B. würde meine Linkstruktur so aussehen:
video
audio - books
- lectures,
topics - web development
- technology
- engineering
support
Aber das Hinzufügen von Untermenüpunkten ist bei dieser Komponente keine Standardoption. Ich weiß, dass es eine Discourse Header Submenus-Komponente gibt, die einige der von mir gewünschten Funktionen bietet, aber nur im Desktop-Modus.
Es gibt keine Plugin-Outlets, die mir bei dieser Komponente bekannt sind, sodass ich keinen Code einfügen kann, und ich glaube nicht, dass ich die Vorlage überschreiben kann, da sie nicht Teil des Kern-Discourse-Codebestands ist, sodass ich sie meines Wissens nach nicht abrufen kann (obwohl sie von Discourse erstellt und gepflegt wird).
Die Links werden von einer API abgerufen, aber ich versuche im Moment, sie fest zu codieren.
Allgemeiner gefragt: Ist es möglich, Theme-Komponenten außerhalb des Kern-Discourse-Repos anzupassen? Welchen Ansatz sollte ich hier wählen?
Ja, Sie können die Theme-Komponente anpassen, indem Sie sie forken und die Änderungen nach Ihren Wünschen im Code vornehmen. Sie sollten dann in der Lage sein, diese Komponente über die GitHub-URL Ihres Forks in Ihrer Instanz zu installieren.
Danke für deine Antwort, Meghna! Das ist großartig und ich habe damit begonnen. Ich bin jedoch auf ein Problem mit diesem Ansatz gestoßen – ich habe versucht, neue Einstellungen in meine geforkte Theme-Komponente einzugeben (über das Admin-Panel meiner Discourse-Instanz für Theme-Komponenten), aber die Einstellungen aus der ursprünglichen Theme-Komponente schienen immer noch in meine eigene geforkte Version durchzusickern. Ich konnte sehen, dass eine neue Komponente vorhanden war, aber sie hatte die gleichen Einstellungen wie die alte. Glaubst du, es könnte daran liegen, dass sie denselben Namen haben? Ich habe auch versucht, die ursprüngliche Theme-Komponente aus meinem Theme zu löschen, aber das hat sowohl die ursprüngliche als auch die geforkte Version aus der Vorschau meines Themes entfernt. Danke für deine Hilfe!