Benutzerdefinierte Variablen
Variablen ermöglichen es Ihrem Widget, Zustände zu speichern, die sich während der Benutzerinteraktion ändern. Verwenden Sie sie, um Pagination, Tab-Navigation, Datumsfilter und andere interaktive Muster zu erstellen -- ganz ohne Backend.
Was sind Variablen?
Variablen sind Schlüssel-Wert-Paare, die im Widget-Editor unter dem Variables-Tab definiert werden. Jede Variable hat:
- Name -- eine eindeutige Kennung (Zugriff in Kleinbuchstaben, z. B.
my-varwird zu{{variables.my-var}}) - Typ -- bestimmt, wie der Wert gespeichert und geparst wird
- Standardwert -- der Anfangswert beim ersten Rendern des Widgets
Variablen werden pro Widget-Instanz gespeichert und beim Neuladen der Seite auf ihre Standardwerte zurückgesetzt.
Variablentypen
| Typ | Beschreibung | Standard wenn leer |
|---|---|---|
| Text | Ein Zeichenkettenwert. Verwenden Sie ihn für Labels, Filterschlüssel, Tab-Namen usw. | "" (leere Zeichenkette) |
| Number | Ein numerischer Wert. Verwenden Sie ihn für Seitenindizes, Zähler, Offsets usw. | 0 |
| Date | Eine ISO-Datumszeichenkette. Funktioniert mit dem datetime Handlebars Helper zur Formatierung. | Aktuelles Datum/Uhrzeit |
Variablen in Templates verwenden
Referenzieren Sie jede Variable in Ihrem Handlebars-Template mit der Syntax {{variables.<name>}}. Variablennamen werden immer in Kleinbuchstaben geschrieben.
Wenn Ihr Variablenname Sonderzeichen enthält (wie Bindestriche), verwenden Sie die Klammernotation:
{{variables.[my-variable]}}
Variablen in API-Anfragen verwenden
Sie können Variablen überall in Ihrer API-Anfragekonfiguration verwenden -- URL, Header oder Body:
https://api.example.com/items?page={{variables.page}}&filter={{variables.filter}}
In Kombination mit dem refetch-Parameter von setVariable() kann das Ändern einer Variable automatisch die Daten von der API mit dem aktualisierten Wert neu abrufen.
Die Funktion setVariable()
setVariable() ist eine globale JavaScript-Funktion, die der Widget Builder für jedes Widget in die Seite injiziert. Verwenden Sie sie in onclick-Handlern, um Variablenwerte zur Laufzeit zu aktualisieren.
Syntax
setVariable(name, value, refetch)
| Parameter | Typ | Beschreibung |
|---|---|---|
name | string | Der Variablenname (Groß-/Kleinschreibung wird nicht unterschieden). |
value | string | Der neue Wert. Zahlen und Datumsangaben werden als Strings übergeben und basierend auf dem Variablentyp automatisch geparst. |
refetch | boolean | Optional (Standard: false). Wenn true, ruft das Widget seine API-Daten erneut ab und rendert sich mit der aktualisierten Variable neu. |
Beispiel
<button onclick="setVariable('page', '2')">Go to page 2</button>
<button onclick="setVariable('page', '1', true)">Go to page 1 (and reload data)</button>
Interaktive Muster
Pagination
Verwenden Sie eine Number-Variable, um die aktuelle Seite zu verfolgen und sie an Ihre API-Anfrage zu übergeben.
Variablen:
page(Number, Standard:0)
API-URL:
https://api.example.com/items?offset={{variables.page}}&limit=10
Template:
Der Parameter true löst einen erneuten Datenabruf mit dem neuen Seitenwert aus.
Datumsnavigation
Verwenden Sie eine Date-Variable, um Benutzern das Durchblättern von Inhalten nach Datum zu ermöglichen -- beispielsweise ein Speiseplan oder Veranstaltungskalender.
Variablen:
selected-date(Date, Standard: heute)
Template:
Tabs / Filter
Verwenden Sie eine Text-Variable, um zwischen Inhaltskategorien zu wechseln, ohne die Seite neu zu laden.
Variablen:
tab(Text, Standard:all)
Template:
Wenn der Tab-Wert in der API-URL verwendet wird, fügen Sie true als dritten Parameter hinzu, um beim Tab-Wechsel die Daten neu abzurufen.
Best Practices
- Verwenden Sie aussagekräftige Namen --
page,selected-date,active-tabsind klarer alsv1,d,t. - Setzen Sie sinnvolle Standardwerte -- Eine Pagination-Variable sollte standardmäßig
0oder1sein, eine Datumsvariable das heutige Datum. - Verwenden Sie
refetchnur bei Bedarf -- Setzen Sie den dritten Parameter nur auftrue, wenn die API-Anfrage von der Variable abhängt. Für rein clientseitige Filterung oder Tab-Wechsel lassen Sie ihn weg, um unnötige API-Aufrufe zu vermeiden. - Variablennamen werden kleingeschrieben --
MyVarundmyvarverweisen auf dieselbe Variable. Verwenden Sie durchgehend Kleinbuchstaben, um Verwirrung zu vermeiden.