$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": { ... }, "displayName": "...", "email": "...", "id": "...", "isAccountVerified": true/false, "isAutoLogInRestricted": true/false, "isAutoLoggedIn": true/false, "isLoggedIn": true/false, "isPasswordResetRequired": true/false, "lastLogin": "...", "loadAddress": "ƒ()", "loginRequired": "ƒ()", "pseudoCreditCards": [...] }

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.

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.

Im Standard-Ausliefershop befinden sich die Templates für die Kundenkonto-Seiten im Verzeichnis: views/account. Diese Templates dienen als Grundlage zur Anzeige und Bearbeitung der Kundendaten. Die Daten können je nach Bedarf auch auf anderen Templates genutzt werden, sofern der Benutzer eingeloggt ist.


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.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

 

 

$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 }}

 


Methoden

 

$wsAccount.loginRequired()

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

 

Signatur
$wsAccount.loginRequired(actionName)

 

Rückgabe

bool - true wenn ein Login erforderlich ist, sonst false.

 

Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

actionName

string

ja

Name der Aktion, für die geprüft werden soll, ob ein Login erforderlich ist.

 

Beispiel

Prüfung, ob das Ändern der E-Mail-Adresse einen Login erfordert (EmailUpdate).

{{ if $wsAccount.loginRequired('EmailUpdate') }} // Login erforderlich {{ /if }}

 


$wsAccount.loadAddress()

Es wird entweder die gewählte Liefer-/Rechnungsadresse oder eine Adresse anhand einer ID geladen.

Signatur
$wsAccount.loadAddress(addressId)

 

Rückgabe

map - Map mit einer geladenen Adresse (z.B. Liefer- oder Rechnungsadresse).

 

Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

addressId

string

ja

ID der Adresse (z.B. ausgewählte Liefer-oder Rechnungsadresse).



Beispiel, das die ausgewählte Rechnungsadresse lädt:

{{ var $billAddress = $wsAccount.loadAddress($wsCheckout.selectedBillAddress) }} {{= $billAddress.firstName }} {{= $billAddress.lastName }}

 


Aktionen

Aktionen zu diesem Modul, die Änderungen auslösen (z. B. erstellen, bearbeiten, löschen), sind separat im Kapitel „Aktionen“ dokumentiert: https://websale.atlassian.net/wiki/spaces/WSDOKU/pages/2855829517

 


 

Beispiele für die Anzeige von Kundendaten

 

Prüfen, ob ein Kunde eingeloggt ist

Im folgenden Beispiel wird überprüft, ob ein Kunde eingeloggt ist. Je nach Status können unterschiedliche Inhalte, wie z. B. ein Loginformular oder eine persönliche Begrüßung, angezeigt werden.

{{ if $wsAccount.isLoggedIn }} <!-- Kunde ist eingeloggt --> <!-- z.B. Erfolgsmeldung, Anrede und Verlinkungen zum Kundenkonto --> {{ else }} <!-- Kunde ist nicht eingeloggt --> <!-- z.B. Eingabefelder für das Login anbieten --> {{ /if }}

 

Persönliche Anrede eines eingeloggten Kunden

Ist ein Kunde eingeloggt, kann er mit seinen persönlichen Daten angesprochen werden. Hier wird der Vorname und Nachname des Kunden aus der Hauptadresse (mainAddress) ausgegeben.

{{ if $wsAccount.isLoggedIn }} {{ var $address = $wsAccount.addresses[0] }} {{ if $address }} Willkommen, {{= $address.firstName }} {{= $address.lastName }}! {{ /if }} {{ /if }}

 

Link zur Kundenkonto-Übersichtsseite

Dieses Beispiel zeigt, wie ein Link zur Übersichtsseite des Kundenkontos generiert wird. Der Link verweist auf das Template overview.htm, das sich im Verzeichnis account befindet.

{{ if $wsAccount.isLoggedIn }} <a href="{{= $wsViews.viewUrl('account/overview.htm')}}"> Zu Ihrer Kundenkonto-Übersicht </a> {{ /if }}

 

Adressdaten eines Kunden anzeigen

Hier werden die Adressdaten eines eingeloggten Kunden aus der Hauptadresse (mainAddress) ausgelesen und angezeigt.

{{ var $myaddress = $wsAccount.mainAddress }} Ihre Rechnungsadresse {{= $myaddress.firstName}} {{= $myaddress.lastName}} {{= $myaddress.street}} {{= $myaddress.zip}} {{= $myaddress.city}} {{= $myCountries[$myaddress.country]}} <a href="{{= $wsViews.viewUrl('account/address.htm', {type: 'change', addressId: $myaddress.id}) }}">Bearbeiten</a>

 

Schleife über alle Adressen im Adressbuch

In diesem Beispiel wird über alle gespeicherten Adressen eines Kunden iteriert. Es werden zu jeder Adresse Bearbeitungs- und Löschlinks angezeigt.

{{ foreach $myaddress in $wsAccount.addresses }}       <p>Adresse ID: {{ $myaddress.id }}</p> <a href="{{= $wsViews.viewUrl('account/changeAddress.htm', {addressId: $address.id}) }}">Bearbeiten</a> {{ /foreach }}

 

Adressdaten im Bestellablauf laden

Während des Bestellvorgangs werden die Adressdaten des Kunden für die Rechnungs- und Lieferadresse verwendet. Dieses Beispiel zeigt, wie die Adressen während des Bestellprozesses abgefragt werden können.

{{ var $myBillingAddress = $wsAccount.loadAddress($wsCheckout.selectedBillAddress) }} Ihre Rechnungsadresse ... {{ var $myShippingAddress = $wsAccount.loadAddress($wsCheckout.selectedShippingAddress) }} Ihre Lieferadresse ...

 

Logout-Link

Ein Kunde kann sich über diesen Link aus dem Kundenkonto ausloggen. Die URL wird über die Funktion logoutUrl bereitgestellt.

{{ if $wsAccount.isLoggedIn }} <a href="{{= $wsActions.url('Logout', $wsViews.viewUrl('account/overview.htm'))}}"> Abmelden </a> {{ /if }}

 

E-Mail-Adresse ändern Link

{{ if $wsAccount.isLoggedIn }} <a href="{{= $wsActions.url('Passwort ändern', $wsViews.viewUrl('account/changePassword.htm'))}}"> Passwort ändern </a> {{ /if }}

 

Weitere Beispiele zu Umsetzungen von Kundekonto-Seiten und -Funktionen finden Sie hier:

Praxisbeispiele Kundekonto

 


Weiterführende Links

© 2025 WEBSALE AG | Impressum | Datenschutz