Ein Built-In Widget anpassen
Erfahren Sie, wie Sie Built-In Widgets mit dem Widget Builder anpassen und erweitern können, um sie besser an Ihre spezifischen Anforderungen anzupassen.
Ein Built-In Widget anpassen
In den folgenden Abschnitten finden Sie Beispiele, wie Sie die Funktionalität der vom Widget Builder bereitgestellten Widgets anpassen und erweitern können.
Das Meal Plan Widget anpassen
Diese Anleitung zeigt, wie Sie das Meal Plan Widget-Template anpassen, indem Sie ein Dropdown zur Auswahl eines Mensa-Standorts und eine Navigation zum Wechseln zwischen Tagen hinzufügen.
Schritte zum Erstellen einer Kopie des Built-In Widget Templates
-
Gehen Sie zu den Built-In Widgets des Widget Builders
Wählen Sie das
Meal PlanWidget-Template aus.
Widget Builder Built-In Widgets -
Erstellen Sie ein Custom Widget
Erstellen Sie ein Custom Widget basierend auf dem
Meal PlanWidget-Template.
Built-in "Meal Plan" Widget -
Bearbeiten Sie das Custom Widget
Bearbeiten Sie das Custom Widget, das auf Basis des
Meal PlanWidget-Templates erstellt wurde.
Custom Widget bearbeiten - Allgemein-Tab -
API-Anfrage-Konfiguration
Das
Meal PlanWidget verwendet die OpenMensa API, um Speiseplandaten abzurufen. Die API-Anfrage wird mit einer dynamischen Handlebars-Variable konfiguriert, um Daten für den aktuellen Tag abzurufen.https://api.studentenwerk-dresden.de/openmensa/v2/canteens/4/days/{{datetime output_format="yyyy-MM-dd"}}/meals
Custom Widget bearbeiten - API-Anfrage-Tab -
Layout-Editor
Das Layout des
Meal PlanWidgets wird mit HTML, Handlebars und Tailwind CSS erstellt. Der Layout-Editor bietet eine Live-Vorschau des Widgets und der von der API abgerufenen Daten.
Custom Widget bearbeiten - Layout-Tab -
Widget umbenennen und speichern
Benennen Sie das Custom Widget in
Meal Planum und speichern Sie es.
Custom Widget bearbeiten - Allgemein-Tab
Schritte zum Hinzufuegen eines benutzerdefinierten Dropdowns
-
Dropdown fuer den Mensa-Standort hinzufuegen
Fuegen Sie ein Dropdown zur Auswahl eines
Mensa-Standortshinzu, damit Redakteure beim Hinzufuegen des Widgets zu einer Staffbase-Seite einen bestimmten Standort auswaehlen koennen.
Custom Widget bearbeiten - Widget-Einstellungen-Tab -
API-Anfrage mit Mensa-Standort aktualisieren
Verwenden Sie das
Mensa-StandortDropdown, um die API-Anfrage zu aktualisieren und Speiseplandaten fuer den ausgewaehlten Standort abzurufen.https://api.studentenwerk-dresden.de/openmensa/v2/canteens/{{substring settings.mensa_location -2}}/days/{{datetime output_format="yyyy-MM-dd"}}/mealsWir verwenden den
substringHandlebars Helper, um dieIDdesMensa-Standortsaus dem Dropdown-Wert der Widget-Einstellungen zu extrahieren.
Custom Widget bearbeiten - API-Anfrage-Tab -
Widget zu einer Staffbase-Seite hinzufuegen
Fuegen Sie das
Meal PlanWidget zu einer Staffbase-Seite hinzu, indem Sie es aus dem Widget-Hinzufuegen-Menue auswaehlen.
Staffbase-Seite - Bearbeitungsmodus -
Mensa-Standort auswaehlen
Waehlen Sie einen
Mensa-Standort aus dem Dropdown, um den Speiseplan fuer den ausgewaehlten Standort anzuzeigen.
Staffbase-Seite - Bearbeitungsmodus -
Widget anzeigen
Das
Meal PlanWidget zeigt den Speiseplan fuer den ausgewaehlten Standort fuer alle Benutzer an, die die Staffbase-Seite aufrufen.
Staffbase-Seite - Ansichtsmodus
Schritte zum Hinzufuegen einer Datumsnavigation
-
Datumsnavigation hinzufuegen
Fuegen Sie dem
Meal PlanWidget eine Datumsnavigation hinzu, damit Benutzer zwischen Tagen wechseln koennen. Erstellen Sie eine benutzerdefiniertecurrent_dateVariable vom TypDate, um das aktuelle Datum verfuegbar zu machen.
Custom Widget bearbeiten - Benutzerdefinierte Variablen-Tab -
API-Anfrage mit Datumsnavigation aktualisieren
Aktualisieren Sie die API-Anfrage, um die Variable
current_datezu verwenden.https://api.studentenwerk-dresden.de/openmensa/v2/canteens/{{substring settings.mensa_location -2}}/days/{{datetime from_var=variables.current_date output_format="yyyy-MM-dd"}}/mealsWir aktualisieren den
datetimeHandlebars Helper, um die Variablecurrent_dateals Datumsreferenz zu verwenden.
Custom Widget bearbeiten - API-Anfrage-Tab -
Datumsnavigations-Layout erstellen
Erstellen Sie ein Datumsnavigations-Layout mit HTML, Handlebars und Tailwind CSS, damit Benutzer zwischen Tagen wechseln koennen.
<div class="flex gap-2 mb-4 sm:max-w-96 center">
<div>
<button
class="block p-0 m-0 w-10 h-10 rounded-full border border-solid border-neutral-200 bg-neutral-100 text-neutral-600 cursor-pointer hover:bg-neutral-200"
onclick="setVariable('current_date', '{{datetime from_var=variables.current_date sub_days="1" to_iso=true}}', true)"
title="Previous">
<span class="inline-block text-2xl font-semibold leading-none h-7">«</span>
</button>
</div>
<div class="w-full">
<button
class="block p-0 m-0 w-full h-10 rounded-xl border border-solid border-neutral-200 bg-neutral-100 text-neutral-600 cursor-pointer hover:bg-neutral-200"
onclick="setVariable('current_date', '{{datetime to_iso=true}}', true)"
title="Today">
<span class="inline-block text-2xl font-semibold leading-none h-7">
{{#if (eq (datetime output_format="yyyy-MM-dd") (datetime from_var=variables.current_date output_format="yyyy-MM-dd"))}}
Today
{{else}}
{{datetime from_var=variables.current_date output_format="dd MMMM yyyy"}}
{{/if}}
</span>
</button>
</div>
<div>
<button
class="block p-0 m-0 w-10 h-10 rounded-full border border-solid border-neutral-200 bg-neutral-100 text-neutral-600 cursor-pointer hover:bg-neutral-200"
onclick="setVariable('current_date', '{{datetime from_var=variables.current_date add_days="1" to_iso=true}}', true)"
title="Next">
<span class="inline-block text-2xl font-semibold leading-none h-7">»</span>
</button>
</div>
</div>
Custom Widget bearbeiten - Layout-Tab -
Staffbase-Seite aktualisieren
Das
Meal PlanWidget zeigt nun den Speiseplan fuer den ausgewaehlten Standort und das ausgewaehlte Datum an. Aktualisieren Sie die Staffbase-Seite, um die Aenderungen zu sehen -- das Widget muss nicht erneut zur Seite hinzugefuegt werden. Alle Aenderungen werden automatisch auf das Widget angewendet.
Staffbase-Seite - Ansichtsmodus