Wie man eine Handlebar-Helferfunktion erstellt

Hallo,

Ich möchte eine neue Hilfsfunktion erstellen, die in der gesamten Anwendung verwendet werden kann. Ich bin mir nicht sicher, wie ich eine Hilfsfunktion erstellen kann.

Ebenso habe ich versucht, selbst eine Hilfsfunktion zu erstellen, aber sie funktioniert nicht.

Bitte finden Sie meinen Code.

Ich beziehe mich auf diese Hilfsfunktion in der .hbr-Datei. Bitte finden Sie den angehängten Screenshot.

Bitte geben Sie mir einen Vorschlag.

Danke
Kumar

Kann mir da bitte jemand helfen?

Hast du dir den Entwicklerhandbuch für Discourse-Themes angesehen?

Was ich normalerweise mache, ist, mir bestehende Themes oder Plugins als Beispiele anzusehen.

EDIT: Aber wenn du Glück hast, wird @Johani eine wirklich durchdachte und hilfreiche Antwort geben. Und du hast Glück!

3 „Gefällt mir“

Ihr Code sollte funktionieren, aber Sie verwenden Ihren Helfer

{{sample}}

in der Vorlage, ohne ihm Argumente zu übergeben. Selbst wenn Sie testen, ob die Dinge funktionieren, übergeben Sie ihm einen Teststring wie

{{sample "some string"}}

Sie müssen das tun, weil Sie den Helfer in einer rohen hbr-Vorlage verwenden. Zu Testzwecken sollte der Helfer auch dann funktionieren, wenn Sie ihm in regulären hbs-Vorlagen nichts übergeben.

Wenn Sie einen Block-Helfer erstellen, benötigt dieser # und Sie müssen ihn wie folgt schließen:

{{#sample}}

{{/sample}}

Das Hinzufügen von ~ zu Ihrem Helfer entfernt optional Leerzeichen zwischen HTML-Tags, die er zurückgibt. Also

{{~#sample}}

{{/sample}}
6 „Gefällt mir“

Vielen Dank für Ihre Antwort. Es funktioniert jetzt einwandfrei.

1 „Gefällt mir“

Hallo,

vielen Dank für Ihre Antwort. Sie helfen mir sehr.

Ja, ich habe die Dokumentation, bestehende Themes und einige Beispiele bereits durchgearbeitet und dieses Beispielprojekt erstellt. Aber ich bin mir nicht sicher, wie ich die Hilfsfunktion in der Handlebar-Datei aufrufen kann. Ich habe es auf verschiedene Arten versucht, und es hat nicht funktioniert. Deshalb habe ich hier gepostet.

Danke
Kumar

1 „Gefällt mir“

Deine Frage hat mir auch geholfen, danke an @Johani! Ich werde daraufhin einen Teil meines Codes refaktorieren.

2 „Gefällt mir“