$wsViews
Diese Seite beschreibt den allgemeinen Datenzugriff über $wsViews. Damit stehen Variablen, Tags und Funktionen bereit, um Daten der aktuell gerenderten View (Seite) im Frontend zu nutzen und View-URLs zu bilden.
Über $wsViews stehen auf jeder Seite die zugehörigen Daten bereit. Basisdaten sind stets vorhanden (z. B. Seitenname, URL, Host, Parameter, SEO-/Hreflang-Informationen). Kontextabhängige Daten werden je nach Seitentyp zusätzlich geliefert – etwa Kategoriedaten auf Kategorieseiten, Produktdaten auf Produktseiten oder Warenkorb-/Checkout-Daten im Bestellprozess.
Dieses Kapitel erläutert das Wie des Zugriffs (Variablen, Tags, URL-Funktionen). Das Was der jeweiligen Datenmodelle ist auf den Modulseiten dokumentiert, z. B. $wsCategories, $wsProducts und $wsCheckout.
Variablen & Funktionen
Modulübersicht
Beispiel / Ausschnitt über $wsViews
{{= $wsViews | json }}
JSON-Ausgabe
{
"current": {
"closedShopRedirected": false,
"ctrlName": "...",
"info": { },
"name": "...",
"paramList": [...],
"params": { },
"robotOptions": [...],
"status": 200,
"getHreflangAutomatic": "ƒ()",
"url": "ƒ()"
},
"host": "...",
"getHreflangManual": "ƒ()",
"identifyUrl": "ƒ()",
"metaDescription": "ƒ()",
"metaTitle": "ƒ()",
"setChildUrl": "ƒ()",
"url": "ƒ()",
"viewUrl": "ƒ()"
}Anmerkung: “ƒ()” kennzeichnet eine Funktion.
Variablen und Methoden in der Übersicht
Name | Rückgabe-Typ | Beschreibung |
|---|---|---|
| map | Informationen zur aktuellen Seite. |
| bool | Prüft, ob eine Weiterleitung von einem geschlossenen Shop erfolgt ist. |
| string | Name des View-Controllers. |
| function | Gibt die Werte der hreflang Tags der aktuellen Seite aus. |
| map | Zusätzliche Infos vom Controller (z.B. Kategorie, Produkt). |
| string | Name der View-Datei (z.B. |
| array | Liste der URL-Parameter mit |
| string | Name des Parameters. |
| string | Value des Parameters. |
| map | URL-Parameter als Map ( |
| map | Robots-Einstellungen der Seite. |
| number | HTTP-Status-Code (z.B. |
| string | Gibt die URL der Startseite aus. |
| string | Meta-Description der aktuellen Seite, Seiten-Beschreibung. |
| string | Meta Title der aktuellen Seite; Seiten-Titel. |
| string | Gibt die aktuell aufgerufene URL aus. |
| string | Bildet eine URL zu einer View mithilfe der Angabe eines View-Controllers und seiner Parameter. |
| string | Erzeugt eine SEO-freundliche URL zu einer Shop-Seite. |
| string | Bildet einen Link zu einer Shop-Seite. |
| string | Erzeugt eine URL zu einer Template-Datei. |
| string | Gibt den Seitentitel für den Browser-Tab und Suchergebnisse aus. |
| string | Gibt die Seitenbeschreibung für Suchergebnisse aus. |
| array | Gibt manuell konfigurierte hreflang-Einträge aus. |
| array | Gibt die Sprachversionen der aktuellen Seite für hreflang-Tags aus. |
Templates & Geltungsbereich
$wsViews steht in allen seitenfähigen Templates zur Verfügung – also im Haupttemplate einer View sowie in Partials/Includes, sofern diese innerhalb einer View gerendert werden. Reine Clientskripte erhalten $wsViews nicht automatisch; Daten müssen dort explizit übergeben werden (z. B. via Inline-JSON oder data-*-Attribute).
$wsViews steht in allen seitenfähigen Templates zur Verfügung – also auch in eingebundenen Partials, sofern diese innerhalb einer View gerendert werden.
Variablen
$wsViews.current
Enthält alle Informationen zur aktuell angezeigten Seite.
{{= $wsViews.current | json }}
$wsViews.current.ctrlName
Gibt den Namen des View-Controllers aus, der die aktuelle Seite liefert.
View-Controller: {{= $wsViews.current.ctrlName }}
$wsViews.current.closedShopRedirected
Gibt aus, ob der Nutzer von einem geschlossenen Shop weitergeleitet wurde.
{{ if $wsViews.current.closedShopRedirected }}
// Von geschlossenem Shop weitergeleitet
{{ /if }}
$wsViews.current.info
Gibt kontextspezifische Daten aus, z.B. das aktuelle Produkt auf Produktseiten (info.product) oder die Kategorie auf Kategorieseiten (info.category).
Zusätzliche Informationen: {{= $wsViews.current.info}}
$wsViews.current.name
Gibt den Namen der aktuellen View aus.
{{ if $wsViews.current.name == "category.htm" }}
// Kategorie-Seite
{{ /if }}
$wsViews.current.paramList
Gibt eine Liste der URL-Parameter aus. Jeder Eintrag enthält name und value.
{{ foreach $myParam in $wsViews.current.paramList }}
{{= $myParam.name }}: {{= $myParam.value }}
{{ /foreach }}
$wsViews.current.params
Gibt die URL-Parameter als Map aus.
{{ if $wsViews.current.params.promoCode }}
Promo-Code: {{= $wsViews.current.params.promoCode }}
{{ /if }}
$wsViews.current.robotOptions
Gibt die Robots-Einstellungen der Seite aus.
Robots: {{= $wsViews.current.robotOptions | json }}
$wsViews.current.status
Gibt den HTTP-Status-Code der Seite aus.
Status: {{= $wsViews.current.status }}
$wsViews.host
Gibt die URL der Shop-Startseite aus.
Shop-Startseite: {{= $wsViews.host }}
Methoden
$wsViews.current.url()
Erzeugt eine SEO-freundliche URL zu einer Shop-Seite. Die URL wird automatisch mit sprechenden Pfaden generiert (z.B. /produkte/beispiel-produkt statt ?productId=123).
Signatur$wsViews.current.url()
Rückgabestring - Aktuelle URL / Pfad.
Beispiel, das die aktuelle URL ausgibt.
Aktuelle URL: {{= $wsViews.current.url() }}
$wsViews.url()
Bildet einen Link zu einer Shop-Seite (z.B. Produktseite, Kategorieseite). Die URL wird automatisch im SEO-freundlichen Format erzeugt.
Signaturstring $wsViews.url(viewCtrl, params)
Rückgabestring - URL/Pfad zur gewünschten Seite..
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | Ziel-Controller/Seitentyp (z.B. |
| map | ja | Parameter zum Ergänzen/Überschreiben der URL; der Wert |
Beispiel
Beispiel, das eine URL zu einer Produktseite erzeugt.
{{= $wsViews.url('Product', {productId: $cProduct.product.id}) }}Rückgabe-Beispiel:
/produkte/beispiel-produkt-12345$wsViews.viewUrl()
Erzeugt eine URL zu einer Template-Datei.
Signatur
string wsViews.viewUrl(path, params, type)
Rückgabestring - URL zur angegebenen View.
Parameter
Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| string | ja | Pfad zur Template-Datei, z.B. |
| map | nein | Zusätzliche Parameter für die URL. |
| string | nein | URL-Typ (z.B. |
Beispiel, das eine URL zur Passwort-vergessen-Seite erzeugt:
<a href="{{= $wsViews.viewUrl('account/forgotPassword.htm') }}">
Passwort vergessen?
</a>
$wsViews.metaTitle()
Gibt den Seitentitel für den Browser-Tab und Suchergebnisse aus.
Signaturstring $wsViews.metaTitle()
Rückgabestring - Seitentitel.
Beispiel, das den Meta-Titel im HTML-Head setzt:
<title>{{= $wsViews.metaTitle() }}</title>
$wsViews.metaDescription()
Gibt die Seitenbeschreibung für Suchergebnisse aus.
Signaturstring $wsViews.metaDescription()
Rückgabestring - Seitenbeschreibung.
Beispiel, das die Meta-Description im HTML-Head setzt.
<meta name="description" content="{{= $wsViews.metaDescription() }}">
$wsViews.getHreflangManual()
Gibt manuell konfigurierte hreflang-Einträge aus.
Signatur$wsViews.getHreflangManual()
Rückgabearray - Liste mit manuellen Sprachversionen.
Beispiel, das manuelle hreflang-Links ausgibt.
{{ foreach $myHref in $wsViews.getHreflangManual() }}
<link rel="alternate" hreflang="{{= $myHref.lang }}" href="{{= $myHref.href }}">
{{ /foreach }}
$wsViews.current.getHreflangAutomatic()
Gibt die Sprachversionen der aktuellen Seite für hreflang-Tags aus.
Signatur$wsViews.current.getHreflangAutomatic()
Rückgabearray - Liste mit Sprachversionen (lang, href).
Beispiel, das automatische hreflang-Links ausgibt.
{{ foreach $myHreflang in $wsViews.current.getHreflangAutomatic() }}
<link rel="alternate" hreflang="{{= $myHreflang.lang }}" href="{{= $myHreflang.href }}">
{{ /foreach }}
Aktionen
Für $wsViews stehen keine Aktionen zur Verfügung.
Beispiele für URL- und Parameter-Zugriffe
View-URL & Host
<link rel="canonical" href="{{= $wsViews.host }}{{= $wsViews.current.url() }}" />
<!-- Nur Pfad ohne Host -->
{{= $wsViews.current.url() }}
Template bedingte Ausgaben von Inhalten
...
{{ if ($wsViews.current.name == "start") }}
<!-- Ausgabe nur auf der Startseite -->
<section class="hero">…</section>
{{ /if }}
...
Parameter lesen (Liste & gezielte Abfrage)
Iteration über alle Parameter:
...
<ul class="params">
{{ for (p in $wsViews.paramList) }}
<li>{{= p.name }} = {{= p.value }}</li>
{{ end }}
</ul>
...Gezielt prüfen (Beispiel „otp“):
{{ if ($wsViews.params.otp && $wsViews.params.otp == "required") }}
<div class="notice notice--otp">Bitte Einmalpasswort eingeben.</div>
{{ /if }}
Hreflang & Meta (Kurzbeispiele)
...
<title>{{= $wsViews.metaTitle() }}</title>
<meta name="description" content="{{= $wsViews.metaDescription() }}" />
<!-- Automatische Hreflang-Links (Beispiel, falls Liste geliefert wird) -->
{{ for (h in $wsViews.getHreflangAutomatic()) }}
<link rel="alternate" hreflang="{{= h.lang }}" href="{{= h.href }}" />
{{ end }}
<!-- Manuelle Hreflang-Einträge (falls konfiguriert) -->
{{ for (h in $wsViews.getHreflangManual()) }}
<link rel="alternate" hreflang="{{= h.lang }}" href="{{= h.href }}" />
{{ end }}
...
Weiterführende Links