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

Inhaltsklassen für Builder

Das Inhaltsmodell entwerfen - Klassen, Attribute, Datentypen, Bezeichner, Muster für Objektnamen, Container - und wie das Modell mit Templates, Overrides und Fetches zusammenhängt, mit Regeln, die es wartbar halten.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/extension-development/part-2-builder/content-classes-for-builders.md

On this page

This page is a translation. Read the English original

Inhaltsklassen für Builder

Teil 2, Kapitel 17. Eine Inhaltsklasse ist eine Art von Inhalt: Artikel, Veranstaltung, Produkt. Ihre Attribute sind die Felder, jedes mit einem Datentyp (eine Textzeile, Rich Text, Bild, Relation ...). Alles, was ein Builder mit Templates tut, beruht auf diesem Modell; ein wenig Sorgfalt hier erspart später viel Template-Code. Wie Sie eine Klasse Schritt für Schritt anlegen, steht in Das Inhaltsmodell und das Bearbeiten von Inhalten.

Die Begriffe

BegriffBedeutung
Inhaltsklasseein Typ: Name, Bezeichner, Attribute
Attributein Feld einer Klasse: Name, Bezeichner, Datentyp, Pflichtfeld oder nicht, übersetzbar oder nicht
Datentypwelche Art von Wert ein Attribut enthält (ezstring, eztext, ezxmltext, ezimage, ezobjectrelationlist ...)
Inhaltsobjektein einzelner Inhalt einer Klasse, mit Versionen und Übersetzungen
Knoten (Platzierung)ein Ort eines Objekts im Inhaltsbaum; ein Objekt kann mehrere haben

Die Datentypen, die beim Hinzufügen eines Attributs angeboten werden, stehen in content.ini [DataTypeSettings] AvailableDataTypes[]; Erweiterungen fügen ihre eigenen hinzu (eztags zum Beispiel ein Tag-Feld).

Bezeichner sind der Vertrag

Der Klassenbezeichner (article) und die Attributbezeichner (title, intro, body, image) sind das, was Templates, Overrides und Fetches verwenden:

{$node.data_map.title.content|wash}
{attribute_view_gui attribute=$node.data_map.body}
Match[class_identifier]=article

Wählen Sie sie deshalb einmal und mit Sorgfalt:

  • Kleinbuchstaben, Ziffern und Unterstriche; englische Wörter, die sagen, was das Feld ist,
  • benennen Sie nie einen Bezeichner um, den Templates verwenden (ändern Sie stattdessen den lesbaren Namen; der Bezeichner kann bleiben),
  • derselbe Bezeichner für dieselbe Bedeutung in jeder Klasse (title, image, intro), damit ein Template-Teil das Bild eines Artikels, einer Nachricht und einer Veranstaltung gleichermaßen zeichnen kann.

Das Muster für den Objektnamen

Jede Klasse hat ein Objektnamensmuster wie <title> oder <first_name> <last_name>. Es bildet den Namen, der im Baum, in Listen und in URLs erscheint. Verwenden Sie das Attribut, an dem man den Inhalt erkennt; URL-Aliase werden aus dem Namen gebildet.

Container

Eine als Container markierte Klasse kann Unterelemente haben. Ordner, Startseiten und Bereiche einer Website sind Container; Artikel meist nicht. Die Listen eines Builders (fetch( 'content', 'list' )) ergeben nur unterhalb von Containern einen Sinn.

Gute Modelle sind langweilig

BesserAls
eine Klasse je echter Inhaltsarteine Klasse mit einer „Typ“-Auswahl, die alles verändert
ein Relationsattribut auf gemeinsame Inhalte (ein Autor, ein Ort)dieselben Daten in viele Objekte kopieren
Rich Text für lange Texteviele kleine Textfelder für Absätze
ein vorhandener Datentypein neuer Datentyp, solange Sie nicht sicher sind (siehe Datentypen)

Modellieren Sie die Inhalte so, wie Redakteure über sie denken; die Templates folgen.

Klassen in einer Erweiterung

Eine in der Administration angelegte Klasse liegt in der Datenbank. Um sie mit einer Erweiterung auszuliefern (damit eine andere Installation sie anlegen kann), gibt es zwei Wege:

  • exportieren Sie sie als Paket (Setup > Pakete, Klassenexport) und legen Sie das Paket in die Erweiterung; siehe Pakete,
  • schreiben Sie sie als Skript, das die Klasse anlegt: Der RAD-Assistent Content extension (/setup/contentextension) schreibt eines für Sie (RAD-Werkzeuge).

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