$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).- Auslieferung von CMS-Seiten in den Shop erklärt, wie die Seiten in den Objektspeicher kommen, wie die SEO-URL entsteht und welche Felder der Shop selbst auswertet.
- Template Theme erklärt das CMS-Seitentemplate und die Einbindung in das Basis-Template.
Modulübersicht
Beispiel / Ausschnitt über$wsCmsPage
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.$wsCmsPage.fields
Enthält die Inhaltsfelder der Seite. Jeder Eintrag hat die Schlüsselname, 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:
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.
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:
