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

Inhaltsklassen für Apps

Exponential-Inhaltsklassen den Bildschirmen einer App zuordnen - herausfinden, welche Klassen und Felder ein Ordner enthält, Klassendefinitionen mit den expclass-Diensten lesen, classIdentifier als Weiche für Zellen und…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/mobile-app-developers/content-modeling/content-classes-for-apps.md

On this page

This page is a translation. Read the English original

Inhaltsklassen für Apps

Diese Seite richtet sich an App-Entwickler, die Inhaltsklassen in Bildschirme und Datenmodelle übersetzen. Sie erklärt, wie Sie erfahren, was eine Klasse enthält, wie Sie classIdentifier in der App verwenden und wie Sie robust bleiben, wenn das Website-Team eine Klasse ändert.

Inhalt

  1. Die Klassen kennenlernen
  2. classIdentifier als Weiche
  3. Klassenänderungen überstehen
  4. Felder, die Apps helfen

Die Klassen kennenlernen

Drei Wege, vom einfachsten zum vollständigsten:

WegWieBraucht
Echte Inhalte lesenGET /api/ezp/v2/content/node/<id>?ResponseGroups=Fields: jedes Feld mit type und identifiercontent/read
Das Website-Team fragendie Klassendefinitionen unter Setup > Klassen in der Administrationsoberflächeeinen Redakteur oder Administrator
Die Definition lesenexpclass::get::<identifier>, expclass::attributes::<identifier>, expclass::requiredAttributes::<identifier>die Richtlinie class, also ein Entwicklerkonto verwenden, nicht das der App

expclass::identifiers liefert jedem angemeldeten Benutzer eine schlanke Zuordnung von Klassen-IDs, Bezeichnern und Namen. Die Klassendienste sind in extension/expservices/classes/content/expclassservices.php deklariert.

classIdentifier als Weiche

Jeder Knoten, jedes Objekt und jeder Listeneintrag trägt classIdentifier. Wählen Sie damit die Zelle und den Detailbildschirm:

when (item.classIdentifier) {
    "article" -> ArticleCell
    "event"   -> EventCell
    "folder"  -> FolderCell (drill down with the list route)
    else      -> GenericCell (objectName only)
}

Haben Sie immer den allgemeinen Fall: Redakteure können eine Klasse, die die App nicht kennt, in einen Ordner legen, den sie zeigt, und die App darf deswegen weder abstürzen noch die ganze Liste ausblenden.

Klassenänderungen überstehen

Administratoren können Felder hinzufügen, entfernen und umsortieren und Klassen ändern, während die App bei den Benutzern ist. So bleiben Sie robust:

  • Lesen Sie Felder über identifier, nie über ihre Position.
  • Behandeln Sie jedes Feld als optional, auch wenn die Klasse es als Pflichtfeld markiert; alte Inhalte können älter als die Pflicht sein.
  • Prüfen Sie type vor dem Parsen; überspringen Sie ein Feld, dessen Typ sich geändert hat.
  • Vereinbaren Sie mit dem Website-Team, dass das Umbenennen oder Entfernen eines Felds, das die App nutzt, wie eine API-Änderung angekündigt wird.
  • Ergänzen Sie einen Test, der auf einer Testinstallation ein Element jeder Klasse liest, die die App nutzt, und bei unerwarteten Typen fehlschlägt (Eine lokale Testinstallation).

Felder, die Apps helfen

Wenn das Website-Team Klassen mit Blick auf die App baut oder erweitert, machen einige Felder eine App einfacher:

FeldWarum
Ein kurzer Teasertext (einfaches ezstring oder eztext)Rich Text erreicht REST als reiner Text; ein eigenes Teaserfeld ist sauber für Listenzellen
Ein Hauptbildfeldein Ort für das Zellenbild (Bilder in REST-Antworten)
Eine stabile Kennung für für die App wichtige Ordner, als Remote-IDEinstiegspunkte überstehen Neuinstallationen (Knoten-IDs, Remote-IDs und Deep Links)

Wie Klassen entworfen werden, ist Thema des Website-Teams: Inhaltsklassen für Websites, Datentypen auswählen.

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