$wsAccount

$wsAccount

In diesem Abschnitt werden die verfügbaren Variablen und Methoden des $wsAccount Moduls beschrieben, mit denen Sie Account- und Adressdaten dynamisch im Frontend verwenden können.

Kundendaten bilden die Grundlage für eine personalisierte Nutzererfahrung im Shop. Sie ermöglichen es, wichtige Informationen wie die Adressdaten und das Kundenprofil des eingeloggten Benutzers abzurufen und im Kundenkonto übersichtlich darzustellen. In diesem Abschnitt erfahren Sie, wie Sie auf die Daten eines Kundenkontos zugreifen und diese dynamisch im Frontend anzeigen können.


Inhaltsverzeichnis


Modulübersicht

 

Beispiel / Ausschnitt über $wsAccount

{{= $wsAccount | json }}


JSON-Ausgabe

{ "addressFields": [...], "addresses": [...], "autoLogInRestriction": "...", "backInStockList": [...], "customerData": { ... }, "defaultBillAddress": { ... }, "defaultDeliveryAddress": { ... }, "displayName": "...", "email": "...", "id": "...", "isAccountVerified": true/false, "isAutoLogInRestricted": true/false, "isAutoLoggedIn": true/false, "isLoggedIn": true/false, "isPasswordResetRequired": true/false, "lastLogin": "...", "loadAddress": "ƒ()", "loginRequired": "ƒ()", "pseudoCreditCards": [...], "typeSeparation": { ... } }

Anmerkung: “f()” kennzeichnet eine Funktion.

 

Variablen und Methoden in der Übersicht

Name

Rückgabe-Typ

Beschreibung

Name

Rückgabe-Typ

Beschreibung

adressFields

array

Gibt eine Liste aller verfügbaren Adressfelder mit deren Konfiguration zurück.

email

string

Gibt die E-Mail-Adresse des Kundenkontos zurück.

id

string

Gibt die Nutzer-ID des Kundenkontos zurück.

isAccountVerified

bool

Gibt zurück, ob das Kundenkonto verifiziert wurde.

isLoggedIn

bool

Gibt zurück, ob der Nutzer eingeloggt ist.

isAutoLoggedIn

bool

Gibt zurück, ob der Nutzer automatisch eingeloggt wurde.

isAutoLoginRestricted

bool

Gibt zurück, ob beim automatischen Einloggen alle Shop-Funktionen verfügbar sind.

autoLoginRestriction

string

Gibt den Status der Auto-Login-Einschränkung zurück.

backInStockList

array

Gibt eine Liste der Produkte zurück, für die der Kunde eine Benachrichtigung bei Verfügbarkeit angefordert hat.

lastLogin

string

Gibt das Datum des letzten Logins zurück.

isPasswortResetRequired

bool

Gibt zurück, ob das Passwort zurückgesetzt werden muss.

customerData

map

Gibt Informationen zu kundenspezifischen Feldern zurück (z.B. Label, Typ).

displayName

string

Gibt den Anzeigenamen des Kunden zurück.

addresses

map

Gibt eine Liste der gespeicherten Adressen zurück.

mainAddress

string

Gibt die Hauptadresse / Rechnungsadresse zurück.

pseudoCreditCards

array

Gibt eine Liste der gespeicherten Kreditkarten (pseudonymisiert) zurück.

typeSeparation

map

Gibt Informationen zur Adresstyp-Trennung aus.

defaultBillAddress

map

Gibt die Haupt-Rechnungsadresse aus.

defaultDeliveryAddress

map

Gibt die Standard-Lieferadresse aus.

loadAddress()

map

Lädt entweder die gewählte Liefer-/Rechnungsadresse oder eine Adresse anhand einer ID.

loginRequired()

bool

Gibt einen true / false Wert zurück, wenn der Nutzer für die angegebene Aktion angemeldet sein muss.


Templates

Grundsätzlich können die Daten eines Kunden, nachdem er eingeloggt ist, auf jedem Template geladen und angezeigt werden.


Variablen

 

$wsAccount.email

Gibt die E-Mail-Adresse des Kundenkontos zurück.

Beispiel, das prüft, ob es sich um eine Gast-Mailadresse oder eine E-Mail-Adresse eines Kundenkontos handelt.

{{ if $wsCheckout.guestMail }} {{= $wsCheckout.guestMail }} {{ else }} {{= $wsAccount.email }} {{ /if }}

 


$wsAccount.id

Gibt die Nutzer-ID des Kundenkontos zurück.

Nutzer-ID: {{= $wsAccount.id }}

 


$wsAccount.displayName

Gibt den Anzeigenamen des Kunden zurück.

Anzeigename: {{= $wsAccount.displayName }}

 


$wsAccount.isLoggedIn

Gibt zurück, ob der Nutzer eingeloggt ist.

{{ if $wsAccount.isLoggedIn }} // Kunde ist eingeloggt. {{ else }} // Kunde ist noch nicht eingeloggt. {{ /if }}

 


$wsAccount.isAutoLoggedIn

Gibt zurück, ob der Nutzer automatisch eingeloggt wurde.

{{ if $wsAccount.isAutoLoggedIn }} //Nutzer wurde automatisch eingeloggt {{ /if }}

 


$wsAccount.isAutoLogInRestricted

Gibt zurück, ob beim automatischen Einloggen alle Shop-Funktionen verfügbar sind. Mehr dazu in der Konfiguration.

{{ if $wsAccount.isAutoLogInRestricted }} // Es sind nicht alle Shop-Funktionen verfügbar {{ /if }}

 


$wsAccount.autoLogInRestriction

Gibt zurück, ob isAutoLogInRestricted aktiviert ist. Mehr dazu in der Konfiguration.

Beispiel, das prüft, ob autoLogInRestriction aktiv ist.

{{ if $wsAccount.autoLogInRestriction }} AutoLogInRestricted ist aktiviert. {{ /if }}

 


$wsAccount.lastLogin

Gibt das Datum des letzten Logins zurück.

Beispiel, das prüft, ob ein letzter Login registriert ist.

{ if $wsAccount.lastLogin }} // Ein letzter Login ist registriert. { /if }

 


$wsAccount.isPasswordResetRequired

Gibt zurück, ob das Passwort zurückgesetzt werden muss. Mehr dazu in der Konfiguration.

Beispiel, das prüft, ob das Passwort zurückgesetzt werden muss.

{{ if $wsAccount.isPasswordResetRequired }} Passwort muss zurückgesetzt werden. {{ /if }}

 


$wsAccount.isAccountVerified

Gibt zurück, ob das Kundenkonto verifiziert wurde.

{{ if $wsAccount.isAccountVerified }} // Konto ist verifiziert {{ /if }}

 


$wsAccount.customerData

Gibt Informationen zu kundenspezifischen Feldern zurück. Mehr dazu in der Konfiguartion.

Beispiel, dass den Inhalt aller verfügbaren Felder ausgibt.

{{ foreach $myFieldVariable in $wsAccount.customerData }} {{= $myFieldVariable.value }}<br> {{ /foreach }}

 


$wsAccount.addressFields

Gibt eine Liste aller verfügbaren Adressfelder mit deren Konfiguration zurück.

Adressfelder: {{= $wsAccount.addressFields }}

 


$wsAccount.backInStockList

Gibt eine Liste der Produkte zurück, für die der Kunde eine Benachrichtigung bei Verfügbarkeit angefordert hat.

Produktliste: {{= $wsAccount.backInStockList }}

 


$wsAccount.pseudoCreditCards

Gibt eine Liste der gespeicherten Kreditkarten (pseudonymisiert) zurück.

Kreditkarten: {{= $wsAccount.pseudoCreditCards }}

 


$wsAccount.typeSeparation

Gibt Informationen zur Adresstyp-Trennung aus. Über diese Map lässt sich prüfen, ob Rechnungs- und Lieferadressen getrennt verwaltet werden und welche Einschränkungen dabei gelten.

Eigenschaften von $wsAccount.typeSeparation

Eigenschaft

Rückgabe-Typ

Beschreibung

Eigenschaft

Rückgabe-Typ

Beschreibung

enabled

bool

Gibt aus, ob die Adresstyp-Trennung aktiv ist.

canCreateBillAddress

bool

Gibt aus, ob noch eine neue Rechnungsadresse angelegt werden kann.

maxBillAddresses

int

Gibt die maximale Anzahl erlaubter Rechnungsadressen aus.

0 = unbegrenzt
-1 = Trennung deaktiviert

defaultBillAddressReadonly

bool

Gibt aus, ob die Haupt-Rechnungsadresse schreibgeschützt ist.

Beispiel das prüft, ob die Adresstyp-Trennung aktiv ist und ob eine neue Rechnungsadresse angelegt werden kann:

{{ if $wsAccount.typeSeparation.enabled }} {{ if $wsAccount.typeSeparation.canCreateBillAddress }} <!-- Neue Rechnungsadresse kann angelegt werden --> {{ else }} <!-- Maximale Anzahl an Rechnungsadressen erreicht --> {{ /if }} {{ /if }}

 


$wsAccount.defaultBillAddress

Gibt die Haupt-Rechnungsadresse des Kunden als Adress-Map aus (einschließlich id), sofern eine vorhanden ist. Die verfügbaren Eigenschaften entsprechen denen von $wsAccount.addresses.

Beispiel, das den Vor-und Nachnamen der Haupt-Rechnungsadresse ausgibt:

Vorname: {{= $wsAccount.defaultBillAddress.firstName }} Nachname: {{= $wsAccount.defaultBillAddress.lastName }}

 


$wsAccount.defaultDeliveryAddress

Gibt die Standard-Lieferadresse des Kunden als Adress-Map aus (einschließlich id), sofern eine vorhanden ist. Die verfügbaren Eigenschaften entsprechen denen von $wsAccount.addresses.

Beispiel, das den Vor-und Nachnamen der Standard-Lieferadresse ausgibt:

Vorname: {{= $wsAccount.defaultDeliveryAddress.firstName }} Nachname: {{= $wsAccount.defaultDeliveryAddress.lastName }}

 


$wsAccount.addresses

Gibt eine Liste der gespeicherten Adressen zurück.

Beispiel, das für jede gespeicherte Adresse den Vor- und Nachnamen ausgibt.

{{ foreach $address in $wsAccount.addresses }} {{= $address.firstName }} {{= $address.lastName }} {{ /foreach }}

 

Mit Verwendung der Rückgabe von $wsAccount.addresses stehen verschiedene Eigenschaften zur Verfügung, die verwendet werden können. Nachfolgend eine Übersicht, welche Eigenschaften verfügbar sind.


Eigenschaften von $wsAccount.addresses

Eigenschaften

Rückgabe-Typ

Beschreibung

Eigenschaften

Rückgabe-Typ

Beschreibung

id

string

Adress-ID

salutationCode

string

Anredecode

titelCode

string

Titelcode (z.B.: Dr., Prof.)

firstName

string

Vorname

lastName

string

Nachname

company

string

Firmenname

department

string

Abteilung

street

string

Straße

streetNumber

string

Hausnummer

additionalInfo

string

Zusätzliche Adressinformationen

zip

string

Postleitzahl

city

string

Stadt

state

string

Bundesland / Region

country

string

Land

phone

string

Tefonnummer

mobilephone

string

Mobiltelefonnummer

fax

string

Faxnummer

businessPhone

string

Geschäftliche Telefonnummer

businessFax

string

Geschäftliche Faxnummer

dateOfBirth

string

Geburtsdatum

taxId

string

Steuernummer

addressType

string

Typ der Adresse

custom

map

Benutzerdefinierte Adressfelder

isBillAddress

bool

Gibt aus, ob die Adresse als Rechnungsadresse verwendet werden kann.

isDeliveryAddress

bool

Gibt aus, ob die Adresse als Lieferadresse verwendet werden kann.

isDefaultBillAddress

bool

Gibt aus, ob es sich zum die Haupt-Rechnungsadresse handelt.

isDefaultDeliveryAddress

bool

Gibt aus, ob es sich um die Standard-Lieferadresse handelt.

isReadonly

bool

Gibt aus, ob die Adresse schreibgeschützt ist.

type

string

Gibt den Pool-Typ der Adresse aus (“bill” oder “delivery”).

 

Methoden von $wsAccount.addresses

Neben den gespeicherten Eigenschaften stehen für jede Adresse zwei zusätzliche Methoden zur Verfügung, mit denen sich Labels und Standardwerte von Adressfeldern dynamisch im Frontend abrufen lassen:

$address.customLabel()

Gibt das benutzerdefinierte Label für ein bestimmtes Adressfeld aus, abhängig vom angegebenen Adresstyp.

Signatur
$address.customLabel(fieldName, addressType)


Rückgabe
string - Das konfigurierte Label für das Feld.


Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

fieldName

string

ja

Name des Adressfeldes (z.B. “firstName”)

addressType

string

ja

Adresstyp. Folgende Werte sind möglich:

  • “bill” - Rechnungsadresse

  • “delivery” - Lieferadresse

  • “both” - beide Adressen


Beispiel, dass das Label für das Feld “Vorname” im Kontext einer Rechnungsadresse ausgibt.

Vorname-Label: {{= $address.customLabel("firstName", "bill") }}

 

 

$address.defaultValue()

Gibt den konfigurierten Standardwert für ein bestimmtes Adressfeld aus, abhängig vom angegebenen Adresstyp.


Signatur
$address.defaultValue(fieldName, addressType)


Rückgabe
string - Der konfigurierte Standardwert für das Feld.

 

Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

fieldName

string

ja

Name des Adressfeldes (z.B. “company”)

addressType

string

ja

Adresstyp. Folgende Werte sind möglich:

  • “bill” - Rechnungsadresse

  • “delivery” - Lieferadresse

  • “both” - beide Adressen


Beispiel, dass den Standardwert für das Feld “Firma” im Kontext einer Lieferadresse ausgibt.

{{= $address.defaultValue("company", "delivery") }}

 

Hinweis: Die Methoden customLabel() und defaultValue() haben aktuell nur im Checkout eine Wirkung, sobald der Benutzer eine Adresse ausgewählt hat. In zukünftigen Versionen werden sie auch im Kundenkonto zwischen Liefer- und Rechnungsadresse unterscheiden können.