gar1t
(Garrett)
19. April 2024 um 16:39
1
Ich versuche, von einer benutzerdefinierten Komponente mit diesem Ausschnitt im HTML-Body auf die API zuzugreifen:
<script type="text/discourse-plugin" version="0.8">
console.log("###########", api.getCurrentUser());
</script>
Dieser Ausschnitt erscheint jedoch nicht im Seiten-HTML.
Was ist hier der richtige Ansatz?
Übrigens, dies ist dieselbe Frage, die vor ein paar Jahren gestellt, aber nicht beantwortet wurde:
I have tried to add custom html through jquery using plugin api events like api.onAppEvent(), api.decorateWidget(), etc…, in Edit CSS/HTML >> /head section. But, the events which i tried is not triggering the jquery on page load.
So, i am little bit confused about what event need to use. Because that event should trigger the jquery throughout the site on page load instead of blocking the scripts on particular pages.
Here is the code which i tried,
[SearchButtonIssue]
Hallo Garrett!
Wenn du diesen Code in deinem Theme-Component unter dem Reiter Head einfügst,
solltest du die Ausgabe in der Konsole des Browsers sehen können (hier wird kein HTML angezeigt):
Nützliche Anleitung zum Erlernen von Theme-Components (auch mit dem Tag Customization > Theme component )
Discourse-Themen und Themenkomponenten können verwendet werden, um das Aussehen, die Haptik und die Funktionalität des Frontends von Discourse anzupassen. Dieser Abschnitt der Entwickler-Guides soll alle Referenzmaterialien bereitstellen, die Sie benötigen, um einfache Themes für eine einzelne Website bis hin zu komplexen Open-Source-Themenkomponenten zu entwickeln.
Diese Einführung soll eine Übersicht über alle Tools und APIs für die Theme-Entwicklung geben. Wenn Sie ein schrittweises Tutorial…
gar1t
(Garrett)
19. April 2024 um 16:58
3
Danke. Ich hatte diesen Code im Body-Bereich platziert.
Es überrascht mich, dass das Verhalten des Head-Bereichs hier anders ist. Es sieht so aus, als ob Discourse diese API-Snippets aus dem Body-Bereich entfernt. Andere Skriptelemente bleiben dort erhalten.