Felder und Feldwerte
Diese Seite richtet sich an App-Entwickler, die REST-Antworten in das eigene Datenmodell der App überführen. Sie erklärt die Feldrouten, die Form eines Feldes und vor allem, wie jeder Wert geschrieben wird, damit die App ihn korrekt auswertet.
Inhalt
- Die Feldrouten
- Das Feldobjekt
- Wie Werte geschrieben werden
- Felder auf Ihr Modell abbilden
- Wenn ein Feld nicht genügt
Die Feldrouten
# every field of a node's object
curl -s -H "Authorization: Bearer $EXP_API_KEY" https://example.com/api/ezp/v2/content/node/<node id>/fields
# one field
curl -s -H "Authorization: Bearer $EXP_API_KEY" https://example.com/api/ezp/v2/content/object/<object id>/field/titleDieselben Felder erhalten Sie mit ?ResponseGroups=Fields beim Lesen eines Knotens, eines Objekts oder einer Liste
(Antwortgruppen). Die Feldrouten verwenden standardmäßig die Gruppe FieldValues und fügen
metadata nur mit ?ResponseGroups=Metadata hinzu.
Das Feldobjekt
Jedes Feld hat unter seinem Bezeichner in der Map fields fünf Schlüssel (ezpRestContentModel::attributeOutputData()):
| Schlüssel | Bedeutung |
|---|---|
type | die Zeichenkette des Datentyps, zum Beispiel ezstring, ezxmltext, ezimage |
identifier | der Feldbezeichner der Klasse, zum Beispiel title |
value | der Wert, siehe unten |
id | die numerische ID dieses Feldes dieses Objekts |
classattribute_id | die numerische ID der Felddefinition in der Klasse |
Wie Werte geschrieben werden
| Datentyp | value |
|---|---|
ezxmltext (Rich Text) | das gerenderte HTML des Feldes ohne alle Tags: reiner Text, ohne Absätze, Links oder eingebettete Bilder |
ezimage | der Pfad der Originalbilddatei, wie der Bild-Datentyp sie speichert (der Teil vor | seiner Zeichenkettenform); der Alternativtext wird abgeschnitten |
jeder Datentyp in site.ini [ContentSettings] DatatypeBlackListForExternal[] | null; die ausgelieferte Liste enthält ezuser, sodass Benutzerkonten REST nie verlassen |
| jeder andere Datentyp | die Darstellung von toString() des Datentyps |
Die Form von toString() ist das eigene einfache Exportformat des Datentyps. Sie unterscheidet sich je Datentyp
(Zahlen, Daten, Wahrheitswerte, Relationslisten, Auswahlen); testen Sie daher jeden Datentyp, den Ihre Klassen
verwenden, an einer echten Antwort, bevor Sie den Parser schreiben, und behandeln Sie jeden Wert als Zeichenkette,
die Sie umwandeln. Erraten Sie Formate nicht aus dem Feldnamen.
Zwei Folgen für Apps:
- Rich Text braucht eine andere Quelle, wenn die App Formatierungen anzeigt: Rich Text in Apps.
- Bilder brauchen eine Alias-URL für Bildschirmgrößen: Bilder in REST-Antworten.
Felder auf Ihr Modell abbilden
- Schlüssel nach
identifier, Prüfung nachtype. Eine Klasse kann sich ändern: Der Administrator der Redaktion kann ein Feld hinzufügen oder einen Datentyp ändern. Ignorieren Sie unbekannte Bezeichner und reagieren Sie nachsichtig, wenntypenicht dem entspricht, was die App erwartet. - Behandeln Sie
nullund leere Zeichenketten als „kein Wert“. Optionale Felder kommen oft leer. - Bewahren Sie
classIdentifierbeim Element auf. Es sagt der App, welchen Bildschirm oder welche Zelle sie verwenden soll (Inhaltsklassen für Apps). - Verlassen Sie sich nicht auf
id. Dieideines Feldes gehört zu einem einzigen Objekt; als Schlüssel über Elemente hinweg ist sie nicht nützlich. Verwenden Sieclassattribute_idoderidentifierfür die Felddefinition.
Wenn ein Feld nicht genügt
| Bedarf | Quelle |
|---|---|
| Ein Feld in einer anderen Sprache | ?Translation=<locale> (Mehrsprachige Inhalte) |
| Attributwerte, wie die Remote-Dienste sie exportieren | expnode::dataMap::<node id> oder expnode::attribute::<node id>::<identifier> (expservices aus einer App aufrufen) |
| Ein berechneter oder zusammengesetzter Wert | eine für die App geschriebene Serverfunktion (ezjscore-Serverfunktionen für Ihre App) |
Verwandte Seiten
- Einen Knoten lesen
- Datentypen auswählen
- Wie Exponential-Inhalte in eine App gelangen
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
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.