$wsViews

$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

Name

Rückgabe-Typ

Beschreibung

current

map

Informationen zur aktuellen Seite.

closedShopRedirected

bool

Prüft, ob eine Weiterleitung von einem geschlossenen Shop erfolgt ist.

ctrlName

string

Name des View-Controllers.

getHreflangAutomatic

function

Gibt die Werte der hreflang Tags der aktuellen Seite aus.

info

map

Zusätzliche Infos vom Controller (z.B. Kategorie, Produkt).

name

string

Name der View-Datei (z.B. "start.htm").

paramList

array

Liste der URL-Parameter mit name und value.

name

string

Name des Parameters.

value

string

Value des Parameters.

params

map

URL-Parameter als Map ({name: value}).

robotOptions

map

Robots-Einstellungen der Seite.

status

number

HTTP-Status-Code (z.B. 200).

host

string

Gibt die URL der Startseite aus.

metaDescription

string

Meta-Description der aktuellen Seite, Seiten-Beschreibung.

metaTitle

string

Meta Title der aktuellen Seite; Seiten-Titel.

url

string

Gibt die aktuell aufgerufene URL aus.

viewUrl

string

Bildet eine URL zu einer View mithilfe der Angabe eines View-Controllers und seiner Parameter.

current.url()

string

Erzeugt eine SEO-freundliche URL zu einer Shop-Seite.

url()

string

Bildet einen Link zu einer Shop-Seite.

viewUrl()

string

Erzeugt eine URL zu einer Template-Datei.

metaTitle()

string

Gibt den Seitentitel für den Browser-Tab und Suchergebnisse aus.

metaDescription()

string

Gibt die Seitenbeschreibung für Suchergebnisse aus.

getHreflangManual()

array

Gibt manuell konfigurierte hreflang-Einträge aus.

current.getHreflangAutomatic()

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ückgabe
string - 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.

 

Signatur
string $wsViews.url(viewCtrl, params)

 

Rückgabe
string - URL/Pfad zur gewünschten Seite..

 

Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

viewCtrl

string

ja

Ziel-Controller/Seitentyp (z.B. Product, Category)

params

map

ja

Parameter zum Ergänzen/Überschreiben der URL; der Wert null entfernt einen Parameter.

 

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ückgabe
string - URL zur angegebenen View.

 

Parameter

Name

Typ

Pflicht

Beschreibung

Name

Typ

Pflicht

Beschreibung

path

string

ja

Pfad zur Template-Datei, z.B. account/forgotPassword.htm.

params

map

nein

Zusätzliche Parameter für die URL.

type

string

nein

URL-Typ (z.B. "absolute").

 

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.

 

Signatur
string $wsViews.metaTitle()

 

Rückgabe
string - Seitentitel.

 

Beispiel, das den Meta-Titel im HTML-Head setzt:

<title>{{= $wsViews.metaTitle() }}</title>

 

 

 

$wsViews.metaDescription()

Gibt die Seitenbeschreibung für Suchergebnisse aus.

 

Signatur
string $wsViews.metaDescription()

 

Rückgabe
string - 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ückgabe
array - 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ückgabe
array - 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