$wsViews - Allgemeiner Datenzugriff
Dieser Abschnitt 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.
Inhaltsübersicht
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.
Datenmodell einer aktuellen View (Seite)
Kontext inspizieren (JSON)
Zur Analyse des verfügbaren Kontextes kann die Struktur als JSON ausgegeben werden (nur zu Debug-Zwecken, nicht produktiv ausliefern):
<!-- Debug-Ausgabe: Nur in Staging/Entwicklung nutzen -->
<!--
<pre class="debug">
{{= $wsViews | json }}
</pre>
-->Die Ausgabe in der Developer-Konsole des Browsers könnte dann wie folgt aussehen:
{
"current": {
"ctrlName": "View",
"getHreflangAutomatic": "(Function)",
"info": {},
"name": "meineSeite.htm",
"paramList": [
{
"name": "view",
"value": "meineSeite.htm"
}
],
"params": {
"view": "meineSeite.htm"
},
"status": 200,
"url": "(Function)"
},
"getHreflangManual": "(Function)",
"host": "https://www.beispielshop.de",
"metaDescription": "(Function)",
"metaTitle": "(Function)",
"url": "(Function)",
"viewUrl": "(Function)"
}
Wichtige Eigenschaften (Kurzreferenz)
current.name– Technischer Name/Identifier des aktuell gerenderten Templates.current.url()– Kanonische URL der aktuellen View (pfadbezogen).host– Shop-Host (inkl. Schema und Domain).params– Parameterobjekt (Key/Value).paramList– Liste der Parameter (inkl. Name/Wert-Paare).status– Statusinformationen der View/Anfrage (sofern bereitgestellt).metaTitle()/metaDescription()– Hilfsfunktionen für SEO-Titel/-Beschreibung.getHreflangAutomatic()/getHreflangManual()– Hreflang-Quellen.
In der Modul-Referenz für $wsViews finden Sie eine Übersicht aller verfügbaren Eigenschaften und Parameter.
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 }}
...
Referenz
In der Modul-Referenz für $wsViews finden Sie eine Übersicht aller verfügbaren Eigenschaften und Parameter.
© 2025 WEBSALE AG | Impressum | Datenschutz