angus
(Angus McLeod)
24. September 2020 um 23:13
2
Die Vorgehensweise, die ich in der Vergangenheit dafür angewendet habe, bestand darin, die Buttons in einen HTML-Helper zu verpacken, der das Roh-HTML in den Roh-Templates rendert und das Sie dann über einen Roh-Plugin-Auslass einfügen können. Hier ist ein Beispiel:
https://github.com/paviliondev/discourse-topic-previews/blob/master/assets/javascripts/discourse/helpers/preview-helpers.js.es6#L8
Der Klick auf den Button wird in der Komponente topic-list-item verarbeitet, z.
https://github.com/paviliondev/discourse-topic-previews/blob/master/assets/javascripts/discourse/initializers/preview-edits.js.es6#L332
@merefield hat möglicherweise auch noch einige Gedanken dazu
Außerdem möchten Sie wahrscheinlich die Ordnerstruktur für Theme-Javascripts verwenden, anstatt Skripte in die header.html einzufügen. Siehe dazu:
Komplexe Themen-JavaScript-Dateien können in mehrere Dateien aufgeteilt werden, um alles schön organisiert zu halten.
Um diese Funktionalität zu nutzen, fügen Sie einfach Dateien zum Ordner /javascripts in Ihrem Theme-Verzeichnis hinzu. Diese Dateien können nicht über die Discourse-UI bearbeitet werden. Sie müssen daher die Theme CLI verwenden oder das Theme über Git beziehen .
JavaScript-Dateien werden genau wie in Core/Plugins behandelt, daher sollten Sie dieselbe Datei-/Ordnerstruktur befolg…