Ist dies der richtige Weg, um eine Theme-Komponente zu erstellen?

Obwohl diese Vorgehensweise technisch möglich ist, ist sie nicht der ideale Ansatz.

Anstatt Skript-Tags und jQuery $(document).ready zu verwenden, wäre es besser, korrekt mit dem Rendering-System von Ember zu arbeiten.

Zunächst wäre es gut, ein Theme-Komponenten-Repository mit einer ordnungsgemäßen Ordnerstruktur für Ihre Theme-Komponente zu erstellen. Schauen Sie sich das discourse_theme CLI an, da dies die Struktur für Sie erstellt und es Ihnen erleichtert, die Komponente zu entwickeln. (Alternativ gibt es auch das Theme-Skelett, wenn Sie nur die Struktur und nicht alle anderen Goodies des Theme-CLIs benötigen).

Von hier aus würde ich die von Discourse für Erweiterbarkeit vorgesehenen Werkzeuge wie apiInitializers, die pluginAPI, Plugin-Outlets usw. verwenden, um das zu erreichen, was Sie versuchen.

Der beste Weg, um diese Dinge zu lernen, ist, die Entwicklerhandbücher hier auf Meta (insbesondere die Abschnitte zu Themes/Theme-Komponenten) zu durchsuchen. Zusätzlich würde ich die Kategorie Theme component durchgehen und deren GitHub-Repositorys finden. Das Durchsuchen ihres Codes und wie sie Dinge erreichen, wird Ihnen ebenfalls helfen.

Ich hoffe, das hilft!

7 „Gefällt mir“