Früher konnten Sie die .hbs-Vorlage für eine Discourse-Route oder -Komponente überschreiben, indem Sie eine Datei mit demselben Namen im Verzeichnis templates/ Ihres Themes und Plugins hinzugefügt haben. Dies war sehr mächtig, brachte aber auch erhebliche Wartungsprobleme mit sich.
Daher haben wir in den letzten Jahren davon abgeraten, Vorlagen zu überschreiben, und sie im November 2024 offiziell als veraltet markiert. Heutzutage ist die bessere Lösung die Verwendung von Wrapper Plugin Outlets, um Inhalte anstelle von Kerninhalten zu rendern.
In diesem Monat (März 2025) werden wir ein Admin-Warnbanner für Vorlagenüberschreibungen einführen und planen, die Unterstützung vor Ende Q2 vollständig zu entfernen.
Zeitplan
(geschätzte Daten – Änderungen vorbehalten)
November 2024 – Veralterung eingeführt
März 2025 – Admin-Warnbanner aktiviert
Juni 2025 – Entfernung der Funktionalität (Ziel: Woche vom 2. Juni)
Themes / Plugins aktualisieren
Theme- und Plugin-Entwickler sollten sich auf den Leitfaden Plugin Outlet beziehen, um mehr über Wrapper Plugin Outlets zu erfahren. Sie können gerne PRs oder #dev-Themen eröffnen, wenn Sie eine neue Erweiterung für Ihren Anwendungsfall beantragen möchten.
Gibt es eine einfache Möglichkeit zu sehen, welches Theme/Plugin diese Admin-Benachrichtigung auslöst? Ich habe mir alle meine Themes und Plugins angesehen und sehe in keinem ihrer Git-Repositorys ein templates/-Verzeichnis im Stammverzeichnis.
Nein, ich habe mich gerade entschieden, das Formular komplett zu deaktivieren. Ich glaube nicht, dass es in meiner Community jemand benutzt und ich sehe keinen wirklichen Nutzen darin. Ich habe gesehen, dass der Komponentenautor einen Update vorgeschlagen hat, der eine Kernänderung erfordert, daher wird es wahrscheinlich bald wieder funktionieren.
Bedeutet das, dass die experimentelle Benutzerkarte in den Kern integriert wird, bevor diese vollständig veraltet ist? Ich erhalte derzeit diese Warnung für diese Komponente GitHub - discourse/experimental-usercard
Wir haben das Repository experimental-usercard archiviert und beabsichtigen nicht, die Theme-Komponente weiter zu aktualisieren. Daher müssen Sie sie leider deaktivieren, bevor Template-Overrides im Juni 2025 blockiert werden.
Wir hoffen, einige der Experimente irgendwann in den Kern zu integrieren, haben aber keinen genauen Zeitplan dafür. Die Benutzerkarte ist ein sehr stark angepasster Teil der Benutzeroberfläche, daher erfordert die Einführung großer Änderungen sorgfältige Planung und Änderungen im gesamten Ökosystem.
Alles ist auf Kurs für dieses Ziel, daher beabsichtigen wir, die Unterstützung für Template-Überschreibungen in der Woche ab dem 2. Juni einzustellen.
Da dies vor der stabilen 3.5-Version geschehen wird, haben wir das Admin-Warnbanner zurückportiert auf stabile 3.4, damit Communities auf der stabilen Version eine angemessene Vorwarnzeit erhalten, bevor sie auf 3.5 aktualisieren.
(cc @RGJ, da ich weiß, dass Sie viele Foren auf der stabilen Version hosten)
Ich bekomme jetzt auch diesen unspezifischen Fehler (er verweist nur auf das ‘Standard’-Theme). Der Hinweis, in der Konsole nachzusehen, hat geholfen. Ich denke, das liegt an unserem benutzerdefinierten CSS, aber ich habe dieses Forum erst kürzlich übernommen, daher muss ich ein wenig graben. Wann soll das kaputtgehen, damit ich Zeit habe, mich darum zu kümmern?
Template-Überschreibungen wurden in der neuesten Version von Discourse Core entfernt, daher gehe ich davon aus, dass Sie eine ältere Version ausführen. Wenn Sie das nächste Mal auf die neueste Version aktualisieren, wird die Überschreibung nicht mehr funktionieren.
Wahrscheinlich befindet sich etwas wie <script type="text/x/handlebars"> in Ihrem Standardthema, das entfernt werden sollte.
huh. interessant. Wir sehen dieses Banner erst, seit unser DevOps-Team auf 3.4.6 aktualisiert hat. Das benutzerdefinierte Override wird jedoch immer noch gerendert (und Sie haben Recht, wo es sich befindet / wie es aussieht). Es ist möglich, dass ChatGPT falsch interpretiert, was dieses Override tut, ich bin noch dabei, das alles herauszufinden
alles behoben, die Warnung ist weg, der Stil bleibt erhalten. Woot