$wsActions

$wsActions

In diesem Abschnitt werden die verfügbaren Variablen und Tags des $wsActions Moduls beschrieben, mit denen Sie Aktionen im Frontend ausführen und deren Ergebnis auswerten können.

Aktionen ermöglichen es, Änderungen im Shop durchzuführen, wie z.B. Produkte in den Warenkorb zu legen, Formulare abzusenden oder den Nutzer ein- und auszuloggen. Sie bilden die Schnittstelle zwischen dem Frontend und der Shop-Logik. In diesem Abschnitt erfahren Sie, wie Sie Aktionen erstellen, ausführen und deren Ergebnisse auswerten können.


Inhaltsverzeichnis


Modulübersicht

 

Beispiel / Ausschnitt über $wsActions

{{= $wsActions | json }}


JSON-Ausgabe

{ "create": "ƒ()", "csrfToken": "...", "current": { "csrf": "...", "error": true/false, "errors": [ { "code": "...", "field": "...", "subCode": "...", "text": "..." } ], "errorsByField": { }, "globalErrors": [...], "id": "...", "name": "...", "params": { }, "success": true/false, "successInfo": { }, "tag": "..." }, "url": "ƒ()" }

Anmerkung: “f()” kennzeichnet eine Funktion. current ist null, wenn keine Aktion ausgeführt wurde.


Variablen und Methoden in der Übersicht

Name

Rückgabe-Typ

Beschreibung

Name

Rückgabe-Typ

Beschreibung

csrfToken

string

Enthält das CSRF-Schutz-Token für die aktuelle Sitzung - es muss bei jeder Aktion als Parameter wscsrf mitgeschickt werden, damit der Shop die Anfrage als gültig akzeptiert.

current

map

Bietet Zugriff auf Informationen zur Aktion, die gerade ausgeführt wurde.

csrf

string

CSRF-Token.

id

string

ID der Aktion.

name

string

Name der Aktion.

tag

string

Enthält das vergebene Tag.

params

map

Bereits übergebene Parameter-Werte als Map.

success

bool

Gibt aus, ob die Aktion erfolgreich war.

successinfo

map

Info vom Shop bei erfolgreicher Aktion.

error

bool

Gibt aus, ob ein Fehler aufgetreten ist.

errors

list

Liste mit allen aufgetretenen Fehlern.

code

string

Fehler-Code.

subCode

string

Optionaler Fehler-Code zur Spezifikation von errors[].code.

field

string

Feld, bei dem der Fehler aufgetreten ist.

text

string

Fehlertext, der über die Konfiguration angegeben ist.

errorsByField

map

Fehler, die einem Feld zugeordnet sind.

globalErrors

list

Liste mit Fehlern, die keinem Feld zuzuordnen sind.

create()

map

Erstellt ein Aktions-Objekt zur Verwendung in Formularen.

url()

string

Erstellt eine URL, mit der eine bestimmte Aktion ausgeführt werden kann.

 


Variablen

 

$wsActions.csrfToken

Enthält das CSRF-Schutz-Token für die aktuelle Sitzung. Es muss bei Aktionen als Parameter wscsrf mitgeschickt werden, damit die Anfrage akzeptiert wird.

CSRF-Token: {{= $wsActions.csrfToken }}

 

$wsActions.current

Enthält Informationen zur Aktion, die im aktuellen Kontext ausgeführt wurde (z.B. Erfolg/Fehler und Meldungen). Ist null, wenn keine Aktion ausgeführt wurde.

{{ if $wsActions.current }} // Eine Aktion wurde ausgeführt {{ /if }}

 

$wsActions.current.csrf

Gibt den CSRF-Token der gerade ausgeführten Aktion aus.

CSRF-Token: {{= $wsActions.current.csrf }}



$wsActions.current.id

Gibt die eindeutige ID der Aktion aus. Das Format ist <ActionName>:<ActionTag>, wenn ein Tag vergeben wurde, ansonsten <ActionName>.

Aktions-ID: {{= $wsActions.current.id }}

 

$wsActions.current.name

Gibt den Namen der Aktion aus.

{{ if $wsActions.current.name == "Login" }} // Login-Aktion wurde ausgeführt {{ /if }}



$wsActions.current.tag

Gibt das vergebene Tag der Aktion aus, falls vorhanden.

Tag: {{= $wsActions.current.tag }}

Dieses Tag wird aktuell nicht verwendet.



$wsActions.current.params

Gibt bereits übergebene Parameter-Werte (je nach Aktion) aus.

{{ if $wsActions.current.params.productId }} Produkt-ID: {{= $wsActions.current.params.productId }} {{ /if }}

 

 

$wsActions.current.success

Gibt aus, ob die aktuelle Aktion erfolgreich war.

Beispiel, das prüft, ob das Hinzufügen zum Warenkorb erfolgreich war:

{{ if $wsActions.current.success }} // Aktion war erfolgreich {{ /if }}

 

 

$wsActions.current.successinfo

Gibt bei einer erfolgreich ausgeführten Aktion eine Map mit zusätzliche Informationen vom Shop aus.

{{ if $wsActions.current.success and $wsActions.current.successInfo }} // Erfolgsinformationen verfügbar {{ /if }}

 

 

$wsActions.current.error

Gibt aus, ob bei der aktuellen Aktion ein Fehler aufgetreten ist.

{{ if $wsActions.current.error }} // Es ist ein Fehler aufgetreten {{ /if }}

 

 

$wsActions.current.errors

Gibt eine Liste mit genaueren Informationen zu aufgetretenen Fehlern aus.

{{ foreach $myErrorVariable in $wsActions.current.errors }} {{= $myErrorVariable.text }} {{ /foreach }}



$wsActions.current.errorsByField

Gibt Fehler aus, die einem Feld zugeordnet sind.

{{ if $wsActions.current.errorsByField.zip }} // Fehler im Feld "zip" {{ /if }}

 

 

$wsActions.current.globalErrors

Gibt eine Liste mit Fehlern aus, die keinem Feld zuzuordnen sind.

{{ if $wsActions.current.globalErrors }} // Globale Fehler aufgetreten {{ /if }}

 


Methoden

 

$wsActions.create()

Erstellt ein Aktions-Objekt zur Verwendung in Formularen.

 

Signatur
$wsActions.create(actionName, paramDefaults, target, tag)

 

Rückgabe
map – Action-Objekt (Map „Action“).

 

Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

actionName

string

ja

Name der Aktion, die ausgeführt werden soll.

paramDefaults

map

nein

Eine Map mit Default-Parametern, die beim Ausführen der Aktion noch geändert werden können (Bsp. default-Menge, bei Produkt in Warenkorb legen).

target

string

nein

Zielseite nach erfolgreich durchgeführter Aktion.

tag

string

nein

Frei wählbare Bezeichnung, um mehrere Aktionen auseinander zu halten.

 

Beispiel, das eine Warenkorb-Aktion erstellt:

{{ var $action = $wsActions.create("BasketItemAdd", { productId: "12345", quantity: 1 }) }} ID: {{= $action.id }} CSRF: {{= $action.csrf }}

 


$wsActions.url()

Erstellt eine URL, mit der eine bestimmte Aktion ausgeführt werden kann. Wird für Links verwendet.

 

Signatur
$wsActions.url(action, target, params)

 

Rückgabe
string - URL, mit der die Aktion ausgeführt werden kann.

 

Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

action

string

ja

Name der Aktion, die ausgeführt werden soll.

target

string

ja

Zielseite nach erfolgreich durchgeführter Aktion.

params

map

ja

Eine Map mit Default-Parametern, die beim Ausführen der Aktion noch geändert werden können (Bsp. default-Menge, bei Produkt in Warenkorb legen)

 

Beispiel, das einen Link zum Hinzufügen in den Warenkorb erstellt:

<a href="{{= $wsActions.url('BasketItemAdd', $wsViews.current.url(), { productId: '12345', quantity: 1 }) }}"> In den Warenkorb </a>

 


Weiterführende Links