Einstellungen erscheinen nicht

Hallo zusammen, ich fange gerade an, Dinge für Discourse zu entwickeln, und arbeite an einer Theme-Komponente.
Link: GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.

Wenn ich es in den Theme Creator einfüge, erscheinen die Einstellungen nicht, obwohl ich eine settings.yml habe. Irgendwelche Ideen?

1 „Gefällt mir“

Siehst du irgendwelche Fehlermeldungen im Theme Creator?

Ich denke, du musst die gleichen Anführungszeichen am Anfang und Ende verwenden.

Das könnte auch ein Problem sein. Ich würde default: "" versuchen.

Vielleicht möchtest du “block” zu den Optionen hinzufügen. Ansonsten musst du den Zurück-Button verwenden, um das wieder auszuwählen.

2 „Gefällt mir“

Hoppla, mir ist gerade aufgefallen, dass ich auf „Neu erstellen“ geklickt habe, anstatt es zu importieren…
Aber jetzt, wenn ich die URL verwende, sagt es, dass about.json ungültig ist oder nicht existiert, und fragt mich, ob es ein Theme ist.
About.json:

Stimmt etwas nicht?

Fehlendes Komma nach der Lizenz-URL.

4 „Gefällt mir“

:roll_eyes:
@merefield Wäre die Version in \"\"?

1 „Gefällt mir“

Wahrscheinlich auch das. Schauen Sie sich einfach Beispiele an.

1 „Gefällt mir“

Danke! Noch eine letzte Frage, ich kann die Variable nicht anzeigen lassen.
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/common/header.html

Lag es daran, dass ich sie nicht richtig initialisiert habe? Ich habe versucht, der Anleitung zu folgen…

  1. Verwenden Sie keine „header.html“, sondern eine ordnungsgemäße Komponente (vorzugsweise eine .gjs-Datei, aber .hbs könnte ausreichen).
  2. Verwenden Sie den html-safe-Helper, wann immer Sie HTML aus Einstellungen oder Variablen ausgeben.
2 „Gefällt mir“

Müsste ich dann \njs\nimport Component from "@glimmer/component";\n\nexport default class PracticeComponent extends Component {\n get bannerLinks() {\n return JSON.parse(settings.banner_links);\n }\n}\n\nverwenden?

1 „Gefällt mir“

Schau dir die Milliarden von Beispielen an :stuck_out_tongue_winking_eye:

1 „Gefällt mir“

Sie müssen nur eine gjs-Datei verwenden, wenn Sie Dinge mit JavaScript verarbeiten müssen, andernfalls kann eine hbs-Vorlagendatei ausreichen. Experimentieren Sie.

1 „Gefällt mir“

Ich bin mir nicht sicher, ob ich in die richtige Richtung gehe.
Ich habe javascripts/persistent-banner.hbs mit diesem erstellt:
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/javascripts/persistent-banner.hbs

Aber es wird nichts angezeigt. Habe versucht, es an verschiedenen Stellen zu platzieren, es funktioniert immer noch nicht.

Habe versucht, mir Beispiele anzusehen, aber viele scheinen nicht zu helfen.
Irgendwelche Ratschläge?

1 „Gefällt mir“

In welchem Plugin-Outlet möchten Sie Ihr Banner platzieren?
Schauen Sie sich Using Plugin Outlet Connectors from a Theme or Plugin an

Sie könnten https://meta.discourse.org/t/add-a-featured-topic-list-to-your-discourse-homepage/132949?u=moin als Beispiel verwenden

Sie können die (deprecated) Plugin outlet locations theme component verwenden, um die Namen und Speicherorte der Plugin-Outlets zu finden. „above-main-container“ ist zum Beispiel das oberste über der Themenliste, aber nicht über der Seitenleiste.

Ein Blick in den Code einer Theme component, die etwas Ähnliches hinzufügt, ist ebenfalls eine großartige Möglichkeit zu lernen.

2 „Gefällt mir“

Sie müssen und sollten keine Skript-Tags in hbs-Dateien einfügen. Sie sollten auf den Inhalt der Vorlage beschränkt sein.

Raten Sie nicht ins Blaue, lesen Sie die Anleitungen:

3 „Gefällt mir“

Ich habe es also geschafft, es ohne eine hbs-Datei zum Laufen zu bringen, sondern stattdessen das \u003cscript\u003e-Tag mit Handlebars zu verwenden, und es funktioniert jetzt.
Ich benutze es im Moment so, aber ich werde weiterhin versuchen, stattdessen eine hbs-Datei zu verwenden.

1 „Gefällt mir“

Ich habe einen schnellen Pull Request für dich erstellt, damit du siehst, wie die Dateien richtig aufgeteilt werden. Du kannst ihn gerne zusammenführen oder dir einfach den Branch ansehen.

6 „Gefällt mir“

Vielen Dank! Es funktioniert jetzt!

1 „Gefällt mir“

Keine Sorge, Nate. Mach weiter mit dem Experimentieren, Lesen und dem Ansehen anderer Beispiele. Im Handumdrehen wirst du viel besser in diesen Entwicklerdingen sein als ich :smiley: :raised_hands:

2 „Gefällt mir“

Danke für die Ermutigung!

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.