Website-Inhalte mit Objektklassen diversifizieren

Website-Inhalte mit Objektklassen diversifizieren

Die Inhalte einer mit Scrivito betriebenen Website sind in CMS-Objekten gespeichert. Seiten, binäre Daten (wie Bilder oder PDF-Dateien) oder andere eigenständige Inhalte (beispielsweise Personen- oder Produktdaten) werden sämtlichst als solche Objekte repräsentiert. Mit dem Scrivito-SDK können Sie deren Inhalte rendern, ohne sie erst anfordern und später wieder speichern zu müssen, ohne sie ausdrücklich bearbeitbar zu machen usw., weil sich das SDK um all dies kümmert.

Die Klasse „Obj“

Alle CMS-Objekte sind Instanzen einer Objektklasse. Mit Objektklassen können Website-Inhalte in Bezug auf ihre Darstellung oder Funktionalität diversifiziert werden, so dass sie die ihnen jeweils zugedachten Aufgaben erfüllen können. Eine Landing-Page sieht höchstwahrscheinlich anders aus und funktioniert auch anders als beispielsweise eine News-Seite. Mit Hilfe von Objektklassen können Sie die jeweils auf ihnen basierenden CMS-Objekte mit einem speziellen Layout, Eigenschaften (Attributen) oder auch der gewünschten Geschäftslogik ausstatten.

Sie können Objektklassen direkt in Ihrer JavaScript-Anwendung mit der SDK-Funktion Scrivito.provideObjClass definieren. Scrivito leitet Objektklassen von Obj ab, der eingebauten Basisklasse aller Objektinstanzen. Dadurch steht für die Instanzen ein ganzer Satz von Grundfunktionen zur Verfügung, etwa für den Zugriff auf ihre Inhalte (Attributwerte) oder für Änderungen. Über die von Obj stammenden Klassenmethoden ist für Objektklassen auch übergreifende Funktionalität verfügbar, um etwa Instanzen zu laden oder zu suchen.

Scrivito enthält bereits eine Reihe von Objektklassen, die Sie natürlich um Ihre eigenen ergänzen können. Eine NewsPage-Klasse zum Beispiel könnte ein tags-Attribut erhalten, mit dem Artikeln deren jeweilige Themen zugeordnet werden könnten, so dass Sie es Besuchern ermöglichen könnten, die Artikel nach diesen Themen zu filtern. Nachdem eine Objektklasse für einen bestimmten Seitentyp definiert wurde, steht sie Redakteuren zur Verfügung, die dann Seiten dieses Typs anlegen können. Sie können natürlich auch die Konsole nutzen, um Seiten mit einem Skript anzulegen.

Die Klasse „Widget“

Mit Scrivito können Sie Webseiten gestalten, indem Sie Widgets zu ihnen hinzufügen. Widgets sind grafische Komponenten, deren Aufgabe es ist, bestimmte Arten von Inhalten wie Überschriften, Bilder oder Formulare leicht handhabbar zu machen und darzustellen. Im Gegensatz zu Seiten, Binärdaten usw. sind Widgets im CMS keine individuell referenzierbaren Elemente, haben also keine systemweit eindeutige ID, sondern gehören zu einer bestimmten Seite. Man kann sie auf Seiten unterschiedlichen Typs einsetzen, duplizieren, verschieben und mehr.

Die Klasse Widget bietet insofern ähnliche Funktionalität wie Obj, als sie es ermöglicht festzulegen, wie unterschiedliche Arten von Inhalten jeweils gehandhabt, dargestellt und bearbeitet werden sollten. Hierfür können Widget-Klassen mit jeweils eigenen Attributen und Komponenten für deren Darstellung angelegt werden. Analog zu Klassen für CMS-Objekte können Widget-Klassen mit Scrivito.provideWidgetClass() angelegt werden. Scrivito leitet diese von Widget ab.

Sie können natürlich auch die in der Scrivito Example App enthaltenen Widget-Klassen anpassen, indem Sie sie Ihren Wünschen entsprechend umdefinieren. So kümmern sich beispielsweise Widgets der Klasse ImageWidget um Bild-Objekte und stellen sie dar. Scrivito stellt die Grundfunktionalität dieser Widgets zur Verfügung (laden, skalieren, usw.), die Sie jederzeit um eigene Features wie eine Bildunterschrift, einen Tooltip, Rotation mittels CSS etc. ergänzen können.

Attribute, oder: Wo die Inhalte gespeichert werden

CMS-Objekt- und Widget-Klassen können mit Attributen ausgestattet werden, mit denen Redakteure Inhalte zu den betreffenden Seiten und Widgets hinzufügen können. Scrivito bietet zahlreiche Attributtypen für den Umgang mit sämtlichen Datentypen, die heute auf Websites zu finden sind: Einfacher Text, HTML-Markup, Datumsangaben, Links und etliche weitere.

Das Scrivito-SDK enthält auch React-Hilfskomponenten wie Scrivito.ContentTag, die nicht nur die Attributwerte ihrem jeweiligen Typ entsprechend rendern, sondern sie auch direkt auf den Seiten oder in Detailansichten bearbeitbar machen. Beispielsweise kann man im „Bearbeiten“-Modus Attribute vom Typ date mit Hilfe eines kleinen Kalenders auswählen.

  • Um es Redakteuren zu ermöglichen, Widgets auf Seiten zu platzieren, fügen Sie ein Attribut vom Typ widgetlist zur Objektklasse der Seiten hinzu und rendern Sie es mit Scrivito.ContentTag in der zur Klasse gehörenden React-Komponente.

Zusammengefasst...

Obj und Widget sind die Basisklassen des SDKs, mit denen eigene CMS-Objekt- und Widget-Klassen angelegt werden können. Solche Klassen ermöglichen es Ihnen, das Erscheinungsbild und die Funktionalität Ihrer Website entsprechend Ihren Anforderungen zu gestalten. Sämtliche bearbeitbaren Inhalte, ob direkt auf den Seiten oder in Widgets enthalten, werden in Attributen gespeichert, die Sie nach Bedarf zu Ihren Objekt- und Widget-Klassen hinzufügen können.