$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
- 1 Modulübersicht
- 2 Templates
- 3 Variablen
- 3.1 $wsAccount.email
- 3.2 $wsAccount.id
- 3.3 $wsAccount.displayName
- 3.4 $wsAccount.isLoggedIn
- 3.5 $wsAccount.isAutoLoggedIn
- 3.6 $wsAccount.isAutoLogInRestricted
- 3.7 $wsAccount.autoLogInRestriction
- 3.8 $wsAccount.lastLogin
- 3.9 $wsAccount.isPasswordResetRequired
- 3.10 $wsAccount.isAccountVerified
- 3.11 $wsAccount.customerData
- 3.12 $wsAccount.addressFields
- 3.13 $wsAccount.addresses
- 3.14 $wsAccount.backInStockList
- 3.15 $wsAccount.pseudoCreditCards
- 4 Methoden
- 5 Aktionen
- 6 Beispiele für die Anzeige von Kundendaten
- 7 Weiterführende Links
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 |
|---|---|---|
| array | Gibt eine Liste aller verfügbaren Adressfelder mit deren Konfiguration zurück. |
| string | Gibt die E-Mail-Adresse des Kundenkontos zurück. |
| string | Gibt die Nutzer-ID des Kundenkontos zurück. |
| bool | Gibt zurück, ob das Kundenkonto verifiziert wurde. |
| bool | Gibt zurück, ob der Nutzer eingeloggt ist. |
| bool | Gibt zurück, ob der Nutzer automatisch eingeloggt wurde. |
| bool | Gibt zurück, ob beim automatischen Einloggen alle Shop-Funktionen verfügbar sind. |
| string | Gibt den Status der Auto-Login-Einschränkung zurück. |
| array | Gibt eine Liste der Produkte zurück, für die der Kunde eine Benachrichtigung bei Verfügbarkeit angefordert hat. |
| string | Gibt das Datum des letzten Logins zurück. |
| bool | Gibt zurück, ob das Passwort zurückgesetzt werden muss. |
| map | Gibt Informationen zu kundenspezifischen Feldern zurück (z.B. Label, Typ). |
| string | Gibt den Anzeigenamen des Kunden zurück. |
| map | Gibt eine Liste der gespeicherten Adressen zurück. |
| string | Gibt die Hauptadresse / Rechnungsadresse zurück. |
| array | Gibt eine Liste der gespeicherten Kreditkarten (pseudonymisiert) zurück. |
| map | Lädt entweder die gewählte Liefer-/Rechnungsadresse oder eine Adresse anhand einer ID. |
| bool | Gibt einen |
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 |
|---|---|---|
| string | Adress-ID |
| string | Anredecode |
| string | Titelcode (z.B.: Dr., Prof.) |
| string | Vorname |
| string | Nachname |
| string | Firmenname |
| string | Abteilung |
| string | Straße |
| string | Hausnummer |
| string | Zusätzliche Adressinformationen |
| string | Postleitzahl |
| string | Stadt |
| string | Bundesland / Region |
| string | Land |
| string | Tefonnummer |
| string | Mobiltelefonnummer |
| string | Faxnummer |
| string | Geschäftliche Telefonnummer |
| string | Geschäftliche Faxnummer |
| string | Geburtsdatum |
| string | Steuernummer |
| string | Typ der Adresse |
| 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 |
|---|---|---|---|
| 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 |
|---|---|---|---|
| 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:
Weiterführende Links
© 2025 WEBSALE AG | Impressum | Datenschutz