Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Das Inhaltsmodell

Für CMS-Entwickler, die neu bei Exponential sind, das ganze Inhaltsmodell auf einer Seite. Die Seite behandelt Klassen, Attribute und Datentypen, Objekte, Versionen und Übersetzungen, Knoten im Inhaltsbaum, Sektionen…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/cms-developers/the-content-model.md

On this page

This page is a translation. Read the English original

Das Inhaltsmodell

Diese Seite richtet sich an Entwickler, die Websites mit Exponential bauen und das Inhaltsmodell im Kopf haben müssen, bevor sie irgendetwas entwerfen. Sie nennt jeden Baustein, zeigt, wie sie zusammenhängen, und verweist auf die Seite, die jeden im Detail behandelt.

Inhalt

  1. Das Modell in einem Bild
  2. Klassen, Attribute und Datentypen
  3. Objekte, Versionen und Übersetzungen
  4. Knoten und der Inhaltsbaum
  5. Sektionen und Objektzustände
  6. Auch Benutzer sind Inhalte
  7. Bezeichner, die Sie täglich verwenden
  8. Was außerhalb des Inhaltsmodells liegt
  9. Wie es weitergeht

Das Modell in einem Bild

Content class (article)            the type: a name, an identifier and a list of attributes
  Class attribute (title, body)    each one of a datatype: ezstring, ezxmltext, ezimage ...
Content object (one article)       an instance of a class
  Version 1, 2, 3 ...              draft, published, archived; each version holds every translation
    Object attribute               the value of one class attribute in one version and language
  Node (location) 61, 74           the object's places in the content tree; one is the main node
Section                            a label on the object for access rules and designs
Object state                       labels of your own (in review, approved ...), grouped

Alles, was ein Redakteur anlegt, von einer Seite oder einem News-Artikel bis zu einem Bild, einer Datei, einem Benutzerkonto oder einer Benutzergruppe, ist ein Inhaltsobjekt einer Inhaltsklasse. Es gibt keine eigene Tabelle für "Seiten", "Medien" oder "Benutzerprofile", um die herum Sie entwerfen: Sie entwerfen Klassen.

Klassen, Attribute und Datentypen

Eine Inhaltsklasse ist die Typdefinition. Sie hat einen (übersetzbaren) Namen, einen Bezeichner wie article, eine Liste von Attributen, ein Muster für den Objektnamen (zum Beispiel <title>), ein optionales Muster für den URL-Alias, eine Angabe, ob Objekte der Klasse Unterelemente haben dürfen (is_container), die Standardsortierung dieser Unterelemente und eine Angabe immer verfügbar. Das sind die Spalten von ezcontentclass (kernel/classes/ezcontentclass.php).

Jedes Klassenattribut hat einen Bezeichner, einen Datentyp und Kennzeichen: erforderlich, durchsuchbar, übersetzbar und Informationssammler (kernel/classes/ezcontentclassattribute.php). Der Datentyp bestimmt, wie der Wert gespeichert, geprüft, bearbeitet, durchsucht und angezeigt wird. Der Kernel liefert 35 Datentypen in settings/content.ini [DataTypeSettings] AvailableDataTypes[] mit, und Erweiterungen fügen weitere hinzu.

Details: Inhaltsklassen und Attribute und Datentypen wählen.

Objekte, Versionen und Übersetzungen

Ein Inhaltsobjekt wird nie an Ort und Stelle geändert. Jede Bearbeitung erzeugt eine neue Version (einen Entwurf); deren Veröffentlichung macht sie zur aktuellen Version und archiviert die vorherige. Eine Version enthält alle Übersetzungen des Objekts, und jede Übersetzung ist ein Satz von Objektattributen in einer Sprache. Die Zahl der aufbewahrten archivierten Versionen ist je Klasse begrenzt (settings/content.ini [VersionManagement]).

Weil jede Änderung eine Version ist, bekommen Sie Verlauf, Vergleich und Wiederherstellung umsonst, und Sie dürfen nie direkt in die Inhaltstabellen schreiben: Die Veröffentlichungsoperation des Kernels erzeugt die Version, führt Workflows aus, aktualisiert den Suchindex und leert Caches (Inhalte aus PHP).

Details: Versionen, Entwürfe und Veröffentlichen und Übersetzungen und Sprachen.

Knoten und der Inhaltsbaum

Ein Objekt erscheint auf der Website über seine Knoten (auch Platzierungen genannt). Die Knoten bilden einen Baum. Ein Objekt kann mehrere Knoten haben, sodass derselbe Artikel unter News und unter Sport erscheinen kann; einer davon ist der Hauptknoten, die anderen verweisen auf dasselbe Objekt. Der Baum bestimmt:

  • die Navigation und die URL jeder Seite (der URL-Alias eines Knotens wird aus seinem Pfad gebildet);
  • den Geltungsbereich von Berechtigungen (eine Richtlinie kann auf einen Teilbaum eingeschränkt werden);
  • welches Template verwendet wird (Overrides können auf einen übergeordneten Knoten oder eine Tiefe passen);
  • was ein Fetch zurückgibt (Unterelemente, einen Teilbaum, eine Tiefe).

Der mitgelieferte Baum hat feste Spitzen: Die Inhaltswurzel ist Knoten 2, die Benutzer liegen unter Knoten 5, die Medienbibliothek unter Knoten 43 (settings/content.ini [NodeSettings]). Details: Objekte, Knoten und Platzierungen.

Sektionen und Objektzustände

Eine Sektion ist eine Kennzeichnung je Objekt, die Rollen (eine Richtlinie kann auf eine Sektion eingeschränkt werden), Template-Overrides (Match[section]) und Navigationsbereiche der Administration verwenden. Eine neue Installation hat fünf: Standard, Users, Media, Setup und Design (Sektionen).

Objektzustände sind eigene Kennzeichnungen in Gruppen, zum Beispiel ein Prüfzustand mit Entwurf, in Prüfung und freigegeben. Rollen können auf Zustände eingeschränkt werden; damit bilden Sie redaktionelle Stufen über Entwurf und veröffentlicht hinaus ab (Objektzustände).

Details: Sektionen, Rollen und Richtlinien.

Auch Benutzer sind Inhalte

Ein Benutzerkonto ist ein Objekt der Klasse user (Klassen-ID 4, site.ini [UserSettings] UserClassID) mit einem ezuser-Attribut, das Anmeldenamen, E-Mail-Adresse und Passwort-Hash enthält. Benutzergruppen sind Objekte der Klasse user_group im Benutzerbaum, und ein Benutzer gehört zu den Gruppen, in denen seine Knoten liegen. Rollen werden Benutzern oder Gruppen zugewiesen. Sie können der Benutzerklasse also wie jeder anderen Klasse Attribute hinzufügen und Benutzer wie Inhalte abrufen (Benutzer und Registrierung).

Bezeichner, die Sie täglich verwenden

BezeichnerBeispielWofür Sie ihn verwenden
KlassenbezeichnerarticleTemplates, Overrides, Fetch-Filter, Importe; stabil über Installationen hinweg
Attributbezeichnertitle, body$node.data_map.title in Templates, attributes in PHP
Knoten-ID2Links und Fetches nur in einer Installation
Objekt-ID57Relationen; nur in einer Installation
Remote-IDmyimport-article-42eine eigene stabile ID für Objekte, die Sie importieren oder aus Code ansprechen

Knoten- und Objekt-IDs unterscheiden sich zwischen Installationen. Code, Einstellungen und Pakete, die in jeder Installation funktionieren müssen, verweisen auf Klassenbezeichner und Remote-IDs, nicht auf Zahlen.

Was außerhalb des Inhaltsmodells liegt

Manches ist kein Inhaltsobjekt: Einstellungen (INI-Dateien), Templates und Designs, Rollen und Richtlinien, URL-Platzhalter, Layouts von Exponential Layouts (eigene Tabellen, über Regeln mit Inhalten verbunden), Workflows und Auslöser, Bestellungen des Shops und Informationen, die über Formulare gesammelt werden. Jedes davon hat in diesem Bereich eine eigene Seite.

Wie es weitergeht

  1. Ein Inhaltsmodell entwerfen: die Aufgabe, von den Anforderungen bis zu den Klassen.
  2. Eine Inhaltsklasse anlegen: die Aufgabe in der Administration.
  3. Inhalte auf Exponential abbilden: dasselbe Modell aus Sicht einer Migration, mit einer Zuordnungstabelle für andere Systeme.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x