Ich versuche, site-header.hbs in meinem benutzerdefinierten Theme zu überschreiben. Der Pfad zu dieser Datei in Discourse lautet plugins/styleguide/assets/javascripts/discourse/components/sections/organisms/site-header.hbs.
Ich habe versucht, in der head_tag.html meines Themes Folgendes hinzuzufügen:
<script type="text/x-handlebars" data-template-name="javascripts/components/sections/organisms/site-header">
<StyleguideExample @title="site header - in topic - scrolled">
<div class="d-header-wrap">
test
</div>
</StyleguideExample>
</script>
Sie versuchen, etwas anderes zu tun, wofür Sie denken, dass das Überschreiben der Vorlage die Lösung ist. Das Überschreiben von Vorlagen ist fehleranfällig und wird wahrscheinlich zu Problemen führen. Was versuchen Sie, mit dem Header zu tun, das Sie nicht mit einem Plugin-Outlet tun können?
@pfaffman danke für deine Antwort.
Das Hauptproblem ist, dass ich alle Anpassungen im Theme und nicht in Plugins beibehalten muss. Gibt es eine andere sicherere Möglichkeit, dies mit dem benutzerdefinierten Theme zu erreichen?
@pfaffman Ich möchte die Anzeige des Logos entfernen und einen benutzerdefinierten Button hinzufügen. Und oberhalb des Headers möchte ich dynamische Links anzeigen, die aus einer benutzerdefinierten Komponente stammen.
@pfaffman danke. Ich verstehe deine Vorschläge vollkommen. Ich möchte jedoch wissen, ob es eine Möglichkeit gibt, Dateien wie site-header.hbs über ein benutzerdefiniertes Theme anzupassen. Macht das Sinn?
Diese Theme component könnte auch eine Überlegung sein, wenn Sie nach einem Header-Menü mit Dropdown-Untermenü suchen
Der Vorteil der Verwendung einer vorhandenen Komponente (insbesondere wenn sie offiziell oder von einem der Partner stammt) ist, dass sie wahrscheinlich gepflegt wird und weniger wahrscheinlich kaputt geht.