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

# Module - Übersicht

> Übersicht der WEBSALE-Module wie $wsAccount, $wsBasket oder $wsProducts: Variablen und Methoden für die Template-Ausgabe von Shopdaten.

Module sind von **WEBSALE** vorgegebene, global verfügbare Module (z. B. `$wsAccount`). Sie stellen Variablen (Eigenschaften) und Methoden bereit. In der Entwicklung werden sie teilweise auch als `View-Module` bezeichnet, da sie primär für die Ausgabe (Leseseite) verwendet werden.

Mit diesen Modulen stehen Shopdaten für die Template-Ausgabe zur Verfügung, z. B. zu Produkten, Kategorien oder Käuferdaten.

Eigene Module können nicht erstellt oder erweitert werden.

***

## Schreibweise & Zugriff

* **Schreibweise:** `$ws<Modulname>` (z. B. `$wsAccount`, `$wsBasket`, `$wsProduct`)
* Module enthalten Variablen (Eigenschaften) und Methoden
* Der Zugriff erfolgt über den Punkt-Operator (`.`), z. B. auf Eigenschaften oder Methoden eines Moduls
* Datenfelder und Funktionen werden einheitlich über `.` angesprochen

**Syntax-Beispiel**

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
$ws<Modulname>.<Methode> ???
```

Mehr Informationen zum [Datenzugriff](/frontend/datenzugriff-anzeige) finden Sie hier.

***

## Variablen & Methoden

Ein Modul stellt in der Regel beides bereit:

* Variablen (Eigenschaften)
* Methoden

### Variablen (Eigenschaften)

Über die Variablen liefert das Modul direkt den Wert, der direkt ausgelesen werden kann.

**Beispiel - Gibt an, ob der Benutzer eingeloggt ist**

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ = $wsAccount.isLoggedIn }}
```

### Methoden

Die Methoden führen den Aufruf für das Modul aus (z. B. Laden von Daten) und liefern ein Ergebnis zurück.

**Beispiel - Lädt die Adresse mit der angegebenen Id**

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ = $wsAccount.loadAddress(addressId) }}
```

Viele Module liefern strukturierte Daten (z. B. „Maps“/Objekte). Auf deren Felder wird am übersichtlichsten über benutzerdefinierte Variablen zugegriffen, die einmalig im Template belegt wird.

**Beispiel - Laden von den Daten des Produktes mit der ID 123456**

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ var $myVariable = $wsProducts.load(productId) }}
```

Über die benutzerdefinierte Variable `$myVariable` erfolgt der Zugriff auf einzelne Eigenschaften über `$myVariable.<Feld>`:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ = $myVariable.name }}
{{ = $myVariable.descr }}
```

Variablen- und Methodenaufrufe können nicht beliebig verkettet werden. Der folgende Aufruf ist daher nicht möglich:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ $wsAccount.loadAddress(addressId).isLoggedIn }}
```

***

## Verfügbare Module

Hier finden Sie eine Übersicht aller Module, die im WEBSALE Shop grundsätzlich verfügbar sind:

* [\$wsAccount](/frontend/referenz/module/wsAccount)
* [\$wsActions](/frontend/referenz/module/wsactions)
* [\$wsAsse](/frontend/referenz/module/wsasse)
* [\$wsBasket](/frontend/referenz/module/wsbasket)
* [\$wsCategories](/frontend/referenz/module/wscategories)
* [\$wsCheckout](/frontend/referenz/module/wscheckout)
* [\$wsComputopHosted](/frontend/referenz/module/wscomputophosted)
* [\$wsConfig](/frontend/referenz/module/wsconfig)
* [\$wsConsent](/frontend/referenz/module/wsconsent)
* [\$wsCookies](/frontend/referenz/module/ws-cookie-browser-cookie)
* [\$wsDirectOrder](/frontend/referenz/module/wsdirectorder)
* [\$wsEmails](/frontend/referenz/module/wsemails)
* [\$wsExternalData](/frontend/referenz/module/wsexternaldata)
* [\$wsForm](/frontend/referenz/module/wsform)
* [\$wsInventory](/frontend/referenz/module/wsinventory)
* [\$wsLastSeenProducts](/frontend/referenz/module/wslastseenproducts)
* [\$wsMaintenance](/frontend/referenz/module/wsmaintenance)
* [\$wsNavigation](/frontend/referenz/module/wsnavigation)
* [\$wsNewsletter](/frontend/referenz/module/wsnewsletter)
* [\$wsOptIn](/frontend/referenz/module/wsoptin)
* [\$wsOrderHistory](/frontend/referenz/module/wsorderhistory)
* [\$wsPayPalCheckout](/frontend/referenz/module/wspaypalcheckout)
* [\$wsPayPalPlus](/frontend/referenz/module/wspaypalplus)
* [\$wsProducts](/frontend/referenz/module/wsproducts)
* [\$wsProductRating](/frontend/referenz/module/wsproductrating)
* [\$wsSecurity](/frontend/referenz/module/wssecurity)
* [\$wsSession](/frontend/referenz/module/wssession)
* [\$wsShipTrack](/frontend/referenz/module/wsshiptrack)
* [\$wsStore](/frontend/referenz/module/wsstore)
* [\$wsStores](/frontend/referenz/module/wsstores)
* [\$wsStripe](/frontend/referenz/module/wsstripe)
* [\$wsSubshop](/frontend/referenz/module/wssubshop)
* [\$wsTestMode](/frontend/referenz/module/wstestmode)
* [\$wsViews](/frontend/referenz/module/wsviews)
* [\$wsVoucher](/frontend/referenz/module/wsvoucher)
* [\$wsWatchList](/frontend/referenz/module/wswatchlist)

***

## Aktionen `$wsActions`

Parallel zu den Modulen gibt es Aktionen\*\*,\*\* die mit `$wsActions` beginnen.

Während Module Zustände und Daten anzeigen/auslesen, sind Aktionen die Gegenrichtung: Sie dienen dazu, Daten zu erstellen, zu ändern oder zu löschen – typischerweise ausgelöst durch eine Benutzerinteraktion (z. B. Link, Button, Formular).

Mehr Informationen dazu finden Sie unter [Referenz](/frontend/referenz) → [Aktionen](/frontend/referenz/aktionen)

***

## Weiterführende Links

* [Datenzugriff + Anzeige](/frontend/datenzugriff-anzeige)
* [Aktionen](/frontend/referenz/aktionen)
