Skip to main content
Mit dem $wsCmsPage Modul können Sie im Template auf das Seitendokument der aktuell aufgerufenen CMS-Seite zugreifen. Das Modul liefert das JSON-Dokument aus dem Objektspeicher unverändert aus, ohne Umbenennung oder Umsortierung. Ein typischer Anwendungsfall ist das CMS-Seitentemplate, das die Inhalte einer in Strapi gepflegten Inhaltsseite ausgibt.
Das Modul wird ausschließlich auf CMS-Seiten gefüllt, also auf Seiten, die über den View-Controller CmsPage gerendert werden. Auf allen anderen Seiten ist $wsCmsPage leer (null).
Weiterführende Seiten zu diesem Thema:

Modulübersicht

Beispiel / Ausschnitt über $wsCmsPage
JSON-Ausgabe
Variablen in der Übersicht

Methoden

Für $wsCmsPage stehen keine Methoden zur Verfügung.

Variablen

$wsCmsPage.contentType

Gibt aus, aus welchem strapi-Content-Typ die aufgerufene Seite stammt. Der Content-Typ entspricht der Eingabemaske hinter der Seite und legt fest, welche Felder ein Redakteur ausfüllen kann.

$wsCmsPage.meta

Enthält die Verwaltungsdaten und den SEO-Block der Seite.
Der Shop setzt Meta-Title und Meta-Description bereits selbst. Im Basis-Template werden sie üblicherweise über die Funktionen $wsViews.metaTitle() und $wsViews.metaDescription() ausgegeben, damit alle Seitentypen einheitlich behandelt werden. Der direkte Zugriff über $wsCmsPage.meta ist nur nötig, wenn Sie die Rohwerte an anderer Stelle benötigen.
Welche dieser Felder der Shop auswertet und welche Felder reine Verwaltungsdaten sind, steht unter Der SEO-Block in meta.

$wsCmsPage.fields

Enthält die Inhaltsfelder der Seite. Jeder Eintrag hat die Schlüssel name, type und value. Der Shop gibt diese Liste unverändert weiter und interpretiert sie nicht. Welche Feldnamen und Komponenten es gibt, ergibt sich aus der Strapi-Modellierung des jeweiligen Shops. Für den Zugriff wird die Liste einmalig in ein Name/Wert-Objekt überführt:
Das Muster gilt auf jeder Ebene, auch innerhalb von Komponenten (value.fields) und für die Blöcke von Inhaltsblöcken. Die Feldtypen und die Form der jeweiligen value sind unter Die Feldtypen beschrieben, das Umstellen bestehender Feldzugriffe unter Schritt 4 und Schritt 5.
Die Reihenfolge der fields-Liste folgt der Schema-Definition und ist für das Rendern bedeutungslos. Greifen Sie deshalb immer über name und nie über die Position auf Felder zu. Die Reihenfolge innerhalb eines Array-Werts (Inhaltsblöcke, wiederholbare Komponenten) entspricht dagegen exakt der Anordnung des Redakteurs und muss beim Rendern übernommen werden.

Aktionen

Für $wsCmsPage stehen keine Aktionen zur Verfügung.

Beispiele

Gemeinsames Basis-Template auf CMS-Inhalte prüfen

Da $wsCmsPage auf allen anderen Seiten null ist, kann ein gemeinsames Basis-Template gefahrlos darauf prüfen:

Alternativsprachen ausgeben

meta.hreflang wird nicht automatisch in die hreflang-Angaben des Shops übernommen,$wsViews.current.getHreflangAutomatic() liefert für CMS-Seiten nichts. Für die Ausgabe im HTML-Head:

Unbekannte Komponenten im Testmodus sichtbar machen

Ohne einen {{ else }}-Zweig verschwindet eine neu angelegte, im Template nicht umgesetzte Komponente still aus der Seite:

Entwurf im Testmodus kennzeichnen

Ein Entwurf (meta.publishedAt ist null) wird nur bei aktivem Testmodus ausgeliefert. Das lässt sich im Template sichtbar machen: