Wix Blocks Tutorial: Ein Zähler-Widget erstellen

12 Min. Lesezeit
Wix Blocks steht allen Nutzern von Wix Studio zur Verfügung. Um Zugriff auf Blocks zu erhalten, musst du Wix Studio beitreten.
Diese Anleitung zeigt dir, wie du ein Zähler-Widget erstellst, mit dem du eine Zahl erhöhen und verringern kannst. Mit diesem einfachen Widget zeigen wir dir alles an, was mit Wix Blocks möglich ist.

Zähler
Wir empfehlen, dieses Widget von Grund auf neu zu erstellen, wenn du jedoch nicht weiterkommst, kannst du in deinem Konto von Wix eine Vorlage des Widgets in Blocks anzeigen und bearbeiten.

Schritt 1 | Ein neues Widget in Blocks erstellen

  1. Eine leere Blocks-App erstellen.
  2. Wenn die App nicht mit einem Standard-Widget erstellt wird, füge ein Widget zu deiner App hinzu.

Schritt 2 | Layouter hinzufügen

Ein Layouter ist ein Container, der responsiv ist. Auf diese Weise ändern die anderen Elemente ihre Anordnung nicht. Um einen Layouter hinzuzufügen:
  1. Klicke im oberen Menü auf das Symbol für Elemente hinzufügen  add.
  2. Klicke auf LAYOUT -> Flexboxen -> LAYOUTER
  3. Klicke auf den vertikalen Layouter mit drei Abschnitten.

Schritt 3 | Widget-Elemente hinzufügen

Buttons hinzufügen

  1. Klicke im oberen Menü auf das Symbol für Elemente hinzufügen  add.
  2. Klicke auf BUTTON.
  3. Ziehe einen Button auf den rechten Abschnitt des Layouters.
4. Klicke auf Text & Symbol ändern.
5. Wähle aus dem Aufklappmenü die Option Nur Text aus. 
6. Ändere den Text in „+“.
7. Klicke im Inspektor-Panel auf das Symbol für Design design icon und wähle Text aus.
8. Klicke auf Designvorlagen und wähle Heading 6 aus dem Aufklappmenü aus.
9. Ziehe einen weiteren quadratischen Button in den linken Abschnitt.
10. Ändere den Text zu „-“.

Die mittlere Zahl hinzufügen

  1. Klicke auf das Symbol für Elemente hinzufügen add und wähle TEXT aus.
  2. Ziehe ein 32px-Titelelement in den zentralen Bereich des Layouters.
  3. Bearbeite den Text auf „0“ und richte ihn zentriert aus.

Die IDs ändern

  1. Klicke unten rechts auf dem Bildschirm auf Eigenschaften und Ereignisse  properties and events.
  2. Ändere die ID deines Erhöhungs-Buttons zu incBtn.
  3. Ändere die ID deines Verringerungs-Buttons zu decBtn.
  4. Ändere die ID deines Textelements zu countTxt.

Schritt 4 | Code zu deinen Elementen hinzufügen

Jetzt ist es an der Zeit, das Widget tun zu lassen, was es tun soll: hoch und runter zu zählen, wenn die Buttons angeklickt werden.
1. Klicke auf den Tab Code oder gehe zum unteren Teil des Bildschirms, um Code zu deinem Widget hinzuzufügen.
2. Füge den folgenden Code vor deiner onReady()-Funktion hinzu .

1// Den Zähler auf 0 setzen Let count = 0; // Den Zähler deinem Textelement zuweisen function render() { $w('#countTxt').text = count.toString(); } //Füge einen bestimmten Betrag hinzu und löse ein Ereignis im Widget aus. API-Funktion addToCount(amount) { count += amount; render(); }
3. Füge den folgenden Code zu deiner onReady()-Funktion hinzu.
1 $w('#incBtn').onClick(() => { addToCount(1); }); $w('#decBtn').onClick(() => { addToCount(-1); }); render();
4. Klicke auf den Vorschau-Button, um dein Widget in Aktion zu sehen.

Schritt 5 | Dein Widget mit der Widget-API erstellen

Du kannst eine API für dein Widget definieren, sodass der Benutzer (ein Eigentümer der Website, der das Widget installiert) es an seine Bedürfnisse anpassen kann. Die API kann Eigenschaften (Properties), Ereignisse und exportierte Funktionen enthalten.

Nehmen wir an, du möchtest, dass der Website-Eigentümer entscheiden kann, was der „Schritt“ ist, der gezählt wird. Vielleicht möchte der Website-Eigentümer, dass in Zweierschritten gezählt wird, sodass die Zählstufeb 0 ,2, 4, 6 usw. sind.

Du kannst eine Eigenschaft in der Widget-API mit dem Namen "step" definieren und somit dem Benutzer ermöglichen, die Schritte anzupassen.

Die Eigenschaft (Property) „Schritt“ definieren

  1. Klicke auf die Widget-API widget api um das Widget-API-Panel zu öffnen.
  2. Klicke im Abschnitt Eigenschaften auf Neue Eigenschaft hinzufügen (oder fahre mit der Maus über den Abschnitt und klicke auf das Symbol, das erscheint add).
3. Benenne deine Eigenschaft (Property) „step“, lege für sie den Typ Number und einen Standardwert von 1fest.

Den Code ändern, um deine neue Eigenschaft (Property) zu berücksichtigen

Ändere deinen Code so, dass addToCount mit dem Schritt aus den von dir definierten Eigenschaften (Properties) aufgerufen wird, wenn die Buttons angeklickt werden, und nicht mit dem Standardwert von 1.
Verwende $widget.props, um auf deine Eigenschaften (Properties) zuzugreifen (beachte die Vorschläge von Velo zur automatischen Vervollständigung).
1$w.onReady(function () { $w('#incBtn').onClick(() => { addToCount($widget.props.step); }); $w('#decBtn').onClick(() => { addToCount(-$widget.props.step); }); render(); });

Deine Eigenschaft (Property) in der Vorschau testen

  1. Klicke auf Vorschau, um in den Vorschaumodus zu wechseln.
  2. Klicke auf API-Eigenschaften testen.
3. Ändere die Schrittnummer und sieh dir an, wie dein Widget funktioniert.

Ein Ereignis (Public Event) zu deiner Widget-API hinzufügen

Mit der Widget-API kannst du ein Ereignis hinzufügen, das ausgelöst wird, wenn du es möchtest.
Füge ein Ereignis hinzu, das ausgelöst wird, wenn sich die Variable „count“ ändert:
  1. Klicke auf die Widget-API widget api , um das Panel für die Widget-API zu öffnen.
  2. Klicke im Abschnitt Ereignisse auf Neues Ereignis hinzufügen (oder fahre mit der Maus über den Abschnitt und klicke auf das Symbol, das erscheint add).
  3. Gib deinem Ereignis einen Namen und eine Beschreibung
4. Füge diese Zeile zu deiner addToCount()-Funktion hinzu, um das Ereignis auszulösen, wenn sich die Anzahl ändert.
1$widget.fireEvent('change', count);
5. Jetzt sollte deine Funktion addToCount() so aussehen:
1function addToCount(amount) { count += amount; render(); $widget.fireEvent('change', count); }
Dein Ereignis im Website-Editor auslösen
Du musst dein Ereignis im Website-Editor auslösen, sobald du dein Widget auf deiner Website installiert hast (dies wird in Schritt 8 beschrieben).

Eine öffentliche Funktion zu deiner Widget-API hinzufügen

Erstelle und exportiere eine Reset()-Funktion, damit Website-Eigentümer den Zähler einfach auf 0 zurücksetzen können.
  1. Klicke auf die Widget-API widget api , um das Panel für die Widget-API zu öffnen.
  2. Klicke im Abschnitt Funktionen auf Neue öffentliche Funktion hinzufügen (oder fahre mit der Maus über den Abschnitt und klicke auf das Symbol, das erscheint  add
  3. Eine neue leere Funktion mit dem Standardnamen foo() wird mit einem designierten JSDoc (dem Kommentarblock) erstellt, die von jedem gelesen werden kann, der deine Funktion auf einer Website verwendet.
4. Füge den folgenden Code anstelle des Standardcodes der Funktion ein:
1export function reset(){ //This function is part of my public API count = 0; render(); }
5. Aktualisiere das JSDoc. Hinweis: Du musst die Anmerkung der Funktion in diesem Format beibehalten.  
1/** *@function *@description setzt den Zähler auf 0 und rendert. *@returns nothing */
Tipp
Du kannst es auch andersherum machen. Jede exportierte Funktion mit dem entsprechenden JSDoc darüber, wird im Bereich Widget-API auf der rechten Seite angezeigt. Du kannst deinen Code also direkt schreiben, anstatt die Vorlage durch Klicken auf Neue öffentliche Funktion hinzufügen zu erhalten.

Schritt 6 | (Optional) Das Verhalten deines Widgets beim Bearbeiten konfigurieren

Auf dem Tab Konfiguration kannst du das Verhalten des Widgets und das seiner Elemente bestimmen, wenn ein Website-Eigentümer es im Editor bearbeitet. Probiere einige Optionen auf dem Tab Konfiguration aus.
Lege einen Namen für deine Widget-Elemente fest: 
  1. Wähle den Button zum Verringern aus.
  2. Ändere im Inspektor unter Komponentenname den angezeigten Namen zu „My Decrement“ inspector .
Einstellen, dass das Textelement im Editor nicht auswählbar ist:
  1. Wähle das Textelement aus, das deine Anzahl darstellt.
  2. Klicke im Inspektor im Abschnitt Verhalten auf die Option Kann ausgewählt werden  inspector, um das blaue Häkchen zu entfernen.

Schritt 7 | (Optional) Weitere Design-Voreinstellungen erstellen

Mit Blocks kannst du verschiedene Design-Voreinstellungen für das Design und Layout deines Widgets erstellen. Um eine weitere Design-Voreinstellung zu erstellen: 
  1. Klicke im oberen Menü auf Design.
  2. Klicke im Abschnitt Design-Voreinstellungen des Design-Panels unter App-Struktur app structure. auf + Design-Voreinstellung hinzufügen.
  3. Klicke auf das Symbol für Weitere Aktionen  , um deine Voreinstellung umzubenennen (du kannst sie auch duplizieren oder löschen).
4. Nimm einige sichtbare Änderungen in deinem Widget vor, z. B. ändere die Farbe des mittleren Abschnitts.
Wechsel zwischen den Voreinstellungen hin und her, um die Unterschiede zu sehen.
Änderungen pro Voreinstellung im Vergleich zu globalen Änderungen
Beachte, dass sich einige Design- und Layout-Änderungen nur auf deine aktuellen Presets auswirken, während andere sich auf alle auswirken (Erfahre mehr über Design-Presets) (Artikel zurzeit nur auf englisch verfügbar).

Schritt 8 | Dein Ereignis im Website-Editor auslösen

Wichtig
Dieser Schritt findet im Editor von Wix oder Studio Editor statt, nicht in Blocks.
Öffne deinen Website-Editor, um das Ereignis in deiner App auszulösen. Zuerst musst du einen Ereignishandler für das Change-Event hinzufügen:
  1. Deine Widget-App installieren
  2. Aktiviere den Dev-Modus.
  3. Klicke auf das Symbol für Eigenschaften und Ereignisse .
  4. Ändere die ID deines Widgets, z. B. zu „counter1“.
  5. Klicke unter Ereignishandler auf onChange( ).
  6. Wähle im Feld count1_change aus.
Schreibe nun die Funktion. Sie erhält `count` als Parameter und setzt den Zähler zurück, wenn er die von dir gewählte Zahl erreicht (in unserem Beispiel: 30). Deine Funktion sollte wie folgt aussehen:
1export function counter1_change({data: count}) { // Diese Funktion wurde über den Eigenschaften- und Ereignisbereich hinzugefügt. Um mehr zu erfahren, sieh dir http://wix.to/UcBnC-4 an // Füge den Code für dieses Ereignis hier ein: if (count > 30) { $w('#counter1').reset();} }
Sieh dir die Vorschau deiner Website an oder veröffentliche sie, um deine Website in Aktion zu sehen.

War das hilfreich?

|