Documentation Index
Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
Use this file to discover all available pages before exploring further.
Mit dem $wsForm Modul können Sie Formulardaten dynamisch im Frontend verwenden, Formularfelder laden und abgesendete Formulardaten lesen.
Modulübersicht
Beispiel / Ausschnitt über $wsForm
JSON-Ausgabe
{
"inquiryId": "...",
"load": "ƒ()",
"loadAllTypes": "ƒ()",
"loadType": "ƒ()"
}
Anmerkung: ƒ() kennzeichnet eine Funktion.
Variablen in der Übersicht
| Name | Rückgabe-Typ | Beschreibung |
|---|
inquiryId | string | Enthält die ID nach dem Abschicken eines Formulars. |
loadType() | map | Lädt die Struktur eines Formulars anhand des Formularnamens. |
loadAllTypes() | array | Lädt alle verfügbaren Formulartypen des Shops. |
load() | map | Lädt die übermittelten Daten eines abgeschickten Formulars. |
Templates
Formulare werden überall im Shop und auf allen Templates verwendet. Diese Formulare sind beispielsweise:
- Kontaktformular
- Widerrufsformular
- Frage zum Produkt
- Passwort aussetzen
Variablen
Enthält die eindeutige ID einer Formularanfrage nach dem erfolgreichen Absenden. Mit dieser ID können die Formulardaten über load() abgerufen werden.
Anfrage-ID: {{= $wsForm.inquiryId }}
Methoden
Lädt die Struktur eines Formulars (Felder, Labels, Validierungen) anhand der Formular-ID.
Signatur
$wsForm.loadType(inquiryId)
Rückgabe
map - Map mit den Formular-Eigenschaften und Feldern.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|
inquiryId | string | ja | ID des Formulars (z.B. “contact”). |
Beispiel, das alle Eigenschaften jedes Formularfeldes ausgibt:
{{ foreach $field in $wsForm.loadType("contact").fields }}
{{ foreach $key in sort(keys($field)) }}
{{= $key }}: {{= $field[$key] }}
{{ /foreach }}
{{ /foreach }}
Variablen der Feld-Objekte
Die Methode $wsForm.loadtype() gibt pro Feld (in diesem Beispiel $myField) ein Objekt mit folgenden Eigenschaften zurück. Ist dem Formular ein RuleSet (inquiry - Formulare ) zugewiesen, werden die Attribute required und label automatisch durch die dort definierten Regeln angepasst.| Variable | Rückgabe-Typ | Beschreibung |
|---|
$myField.name | string | Technischer Feldname. |
$myField.label | string | Anzeigename des Feldes. Wird automatisch durch customLabelDefinition im RuleSet aktualisiert, sofern ein RuleSet verknüpft ist. |
$myField.required | bool | Pflichtfeldkennzeichen (true / false). Wird automatisch durch requiredDefinition im RuleSet aktualisiert. |
$myField.validations | array | Liste der Validierungsregeln für das Feld. |
$myField.defaultValue | string | Standardwert des Feldes (gesetzt durch defaultValuesDefinition im RuleSet). Kann im Template verwendet werden, um den Feldwert vorzublegen, wenn dieser leer ist. |
$myField.value | string | Aktueller Wert des Feldes. Wird bei der Aktion inquiryCheck befüllt (siehe actions - Formulare). |
$myField.visible | bool | Gibt an, ob das Feld angezeigt werden soll (true / false). Wird automatisch durch inputVisibilityDefinition im RuleSet gesteuert. |
Lädt alle verfügbaren Formulartypen des Shops
Signatur
$wsForm.loadAllTypes()
Rückgabe
array - Liste aller verfügbaren Formulartypen.
Beispiel, das alle verfügbaren Formulartypen durchläuft.
{{ foreach $formType in $wsForm.loadAllTypes() }}
Formular: {{= $formType.name }}
{{ /foreach }}
Lädt die übermittelten Daten eines abgeschickten Formulars.
Signatur
$wsForm.load(inquiryId)
Rückgabe
map - Map mit den Anfragedaten.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|
inquiryId | string | ja | ID des abgeschickten Formulars. |
Beispiel, das prüft, ob das Formular erfolgreich abgesendet wurde und die Daten lädt.
{{ var $myAction = $wsActions.create('InquirySend') }}
{{ if $myAction.success }}
{{ var $myInquiry = $wsForm.load($myAction.successInfo.inquiryId) }}
{{ /if }}
Vorgehen:
- Action “
InquirySend” erstellen
- Prüfen, ob das Absenden erfolgreich war
- Formulardaten über die
Inquiry-ID laden
Die folgenden Variablen sind verfügbar, nachdem die Inquiry-Daten mit load()geladen wurden:
| Variable | Rückgabe-Typ | Beschreibung |
|---|
id | string | Eindeutige ID der Formularanfrage. |
formId | string | ID des Formulars, das benutzt wurde. |
createdAt | string | Zeitpunkt des Abschickens. |
submitter | map | Daten des Absenders. |
email | string | E-Mail-Adresse des Absenders. |
sessionId | string | Session-ID, während der das Formular abgeschickt wurde. |
ipAddress | string | IP-Adresse des Absenders. |
form | map | Daten des Formulars, die der Kunde im Shop eingegeben hat. |
"fieldName".label | string | Sprechender Name des Feldes. |
"fieldName".value | string | Eingetragener Wert des Feldes. |
Variablen der Inquiry-Daten
$myInquiry.id
Gibt die eindeutige ID der Formularanfrage aus.
ID der Formularanfrage: {{= $myInquiry.id }}
Gibt die ID des Formulars aus, das benutzt wurde.
Formular-ID: {{= $myInquiry.formId }}
$myInquiry.createdAt
Gibt den Zeitpunkt des Abschickens aus.
Formular versendet: {{= $myInquiry.createdAt }}
$myInquiry.submitter
Gibt eine Map mit Daten über den Absender aus.
$myInquiry.submitter.email
Gibt die E-Mail-Adresse des Absenders aus.
E-Mail-Adresse: {{= $myInquiry.submitter.email }}
$myInquiry.submitter.sessionId
Gibt die Session-ID aus, während der das Formular abgeschickt wurde.
Session-ID: {{= $myInquiry.submitter.sessionId }}
$myInquiry.submitter.ipAddress
Gibt die IP-Adresse des Absenders aus.
IP-Adresse: {{= $myInquiry.submitter.ipAddress }}
Gibt die Daten der Formularanfrage, die der Kunde im Shop eingegeben hat, als Map aus.
Gibt den sprechenden Namen des Feldes aus.
Vorname-Label: {{= $myInquiry.form.firstName.label }}
Gibt den eingetragenen Wert des Feldes aus.
Vorname-Wert: {{= $myInquiry.form.firstName.value }}
Aktionen
Aktionen zu diesem Modul, die Änderungen auslösen, sind separat im Kapitel “Aktionen” dokumentiert: Inquiry
Funktion - loadType
Die Funktion $wsForm.loadType() nimmt den Namen des Formulars als Argument und wird verwendet um auf die Eigenschaften und Felder des Formulars zuzugreifen.
Die Felder und zugehörigen Eigenschaften des Kontaktformulars können dann folgendermaßen geladen und gelesen werden.
{{ foreach $field in $wsForm.loadType("contact").fields }}
{{ foreach $key in sort(keys($field)) }}
{{= $key }}: {{= $field[$key] }}
{{ /foreach }}
{{ /foreach }}
Die Ausgabe könnte dann wie folgt aussehen:
[
{
"defaultValue": "",
"label": "Vorname",
"name": "firstName",
"required": false,
"validations": [
{ "type": "formCheck", "name": "minlen" },
{ "type": "formCheck", "name": "maxlen" }
],
"value": "",
"visible": true
},
{
"defaultValue": "",
"label": "Nachname",
"name": "lastName",
"required": false,
"validations": [
{ "type": "formCheck", "name": "minlen" },
{ "type": "formCheck", "name": "maxlen" }
],
"value": "",
"visible": true
},
{
"defaultValue": "",
"label": "Betreff",
"name": "subject",
"required": true,
"validations": [
{ "type": "formCheck", "name": "maxlen" }
],
"value": "",
"visible": true
},
{
"defaultValue": "",
"label": "Kundennummer",
"name": "customerNumber",
"required": false,
"validations": [
{ "type": "formCheck", "name": "maxlen" }
],
"value": "",
"visible": true
},
{
"defaultValue": "",
"label": "Text",
"name": "text",
"required": true,
"validations": [
{ "type": "formCheck", "name": "minlen" },
{ "type": "formCheck", "name": "maxlen" }
],
"value": "",
"visible": true
}
]
Funktion - load
Die Funktion $wsForm.load() wird verwendet, um auf die übermittelten Daten eines abgeschickten Formulars zuzugreifen. Dies kann beispielsweise genutzt werden, um dem Nutzer die übermittelten Informationen im Frontend oder per E-Mail anzuzeigen.
In diesem Beispiel wird überprüft, ob das Formular erfolgreich abgesendet wurde und lädt die Daten des Inquirys. Dies erfolgt folgendermaßen (kommentiert, damit die Ausgabe nicht direkt im Frontend angezeigt wird):
{{ var $action = $wsActions.create('InquirySend') }}
{{ if $action.success }}
{{ /if }}
Die Ausgabe in der Developer-Konsole des Browsers könnte dann wie folgt sehen:
{
"createdAt": "2025-04-14T06:43:57Z",
"form": {
"customerNumber": {
"label": "Kundennummer",
"value": "10011"
},
"firstName": {
"label": "Vorname",
"value": "VX"
},
"lastName": {
"label": "Nachname",
"value": "Käufer"
},
"subject": {
"label": "Betreff",
"value": "Test-Anfrage"
},
"text": {
"label": "Text",
"value": "Bitte um weitere Infos"
}
},
"formId": "contact",
"id": "52ad06427c68738c",
"submitter": {
"email": "vx-kauefer@beispiel.de",
"ipAddress": "95.90.217.XXX",
"sessionId": "c5a37018627bf18e2f0b151ee5fa19b77b1ed64794fa710b45e17613460ba60a"
}
}
Beispiel: Daten im Frontend anzeigen
In diesem Beispiel werden die Daten eines abgesendeten Formulars mittels der Funktion $wsForm.load() geladen und angezeigt.
{{ var $action = $wsActions.create('InquirySend') }}
{{ if $action.success }}
{{ var $inquiry = $wsForm.load($action.successInfo.inquiryId) }}
Danke für Ihre Anfrage.
Hier Ihre Daten:
Ihre E-Mail Adresse: {{= $inquiry.submitter.email }}
Ihre IP Adresse: {{= $inquiry.submitter.ipAddress }}
Anfrage ID: {{= $inquiry.id }}
Anfragetyp: {{= $inquiry.formId }}
Vorname: {{= $inquiry.form.firstName.value }}
Nachname: {{= $inquiry.form.lastName.value }}
Ihre Kundennummer: {{= $inquiry.form.customerNumber.value }}
Betreff: {{= $inquiry.form.subject.value }}
Ihre Nachricht: {{= $inquiry.form.text.value }}
{{ /if }}
Weitere Beispiele für das Anzeigen und Laden von Formulardaten finden Sie hier:
→ Praxisbeispiele Formulare
Weiterführende Links