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

Headless Exponential

Exponential als Inhalts-Backend für Apps und JavaScript-Frontends nutzen - die REST-API, expservices, gerendertes XHTML, Bilder, URLs, Vorschau, Caching, Rechte und was mit den eingebauten Templates einfacher bleibt.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/creators/app-creators/headless-exponential.md

On this page

This page is a translation. Read the English original

Headless Exponential

Diese Seite richtet sich an Anwendungsentwickler, die das Inhaltsmodell, die Bearbeitung und die Rechte von Exponential ohne seine Templates nutzen möchten: für eine mobile App, eine Single-Page-Anwendung, einen Generator für statische Websites oder ein anderes System, das die Inhalte anzeigt.

Inhalt

  1. Was Sie behalten und was Sie ersetzen
  2. Die API wählen
  3. Inhalte lesen
  4. Rich Text, Bilder und Links
  5. Vorschau und Entwürfe
  6. Caching und Leistung
  7. Hybrid: Templates und API zusammen

Was Sie behalten und was Sie ersetzen

BleibtWird durch Ihr Frontend ersetzt
Inhaltsklassen, Bearbeitung, Versionen, Übersetzungen, WorkflowsSeiten-Templates, Menüs, das Pagelayout
Rollen und Richtlinien (bei jedem API-Aufruf geprüft)Routing, URL-Verarbeitung
die Administration und der Layouts-Editor für die RedaktionRendern der Layouts
Suche, Medienspeicher, BildvariantenZustand und Caching im Client

Die API wählen

APIWofür
REST v1/v2 (ezprestapi)Knoten, Kinder und Felder lesen; Inhalte anlegen und entfernen; OAuth für Apps (Die REST-API)
expservicesdie Funktionen der Administration als Dienste, mit Discovery und Tokens (Entfernte Dienste mit expservices)
ezjscore-Serverfunktionenkleine JSON-Endpunkte, die Sie selbst schreiben (JSON-Endpunkte mit ezjscore)

Ein Frontend, das im Browser auf einem anderen Host läuft, ruft die REST-API erst auf, wenn CORS für seinen Ursprung in rest.ini [CorsSettings] eingeschaltet ist; standardmäßig ist es aus (CORS für die REST-API). Eine Browser- oder mobile App, bei der sich Benutzer anmelden, ist ein öffentlicher OAuth-Client und verwendet PKCE (PKCE und state).

Inhalte lesen

curl -s -H "Authorization: Bearer $EXP_API_KEY" \
     "https://example.com/api/ezp/v2/content/node/<node id>/list/offset/0/limit/20?ResponseGroups=Metadata,Fields"

Öffentliche Inhalte können anonymen API-Benutzern nur ausgeliefert werden, wenn rest.ini [Authentication] RequireAuthentication das erlaubt; standardmäßig ist ein Benutzer erforderlich. Für öffentliche Frontends verwenden Sie einen Integrationsbenutzer mit reinen Leserechten und behalten seinen Schlüssel auf Ihrem Server.

  • Jedes REST-Feld hat type, identifier, value, id und classattribute_id. Der value eines Rich-Text-Felds ist reiner Text: seine gerenderte Ausgabe ohne Tags.

  • OutputFormat=xhtml ergänzt renderedOutput: den ganzen Knoten, von Templates gerendert, im View-Modus rest, innerhalb des Templates aus rest.ini [<Controller>_viewContent_OutputSettings] Template (rest_pagelayout.tpl). Das mitgelieferte rest_pagelayout.tpl ist nur eine Platzhalterseite; überschreiben Sie es in Ihrem Design und ergänzen Sie ein node/view/rest.tpl, um brauchbares Markup zu erhalten.

  • Bilder: Der REST-value eines Bildfelds ist nur der Pfad der Originaldatei, relativ zum Wurzelverzeichnis der Website (zum Beispiel var/<site>/storage/images/.../name.jpg); er enthält keine Bildvarianten, keine Größe und keinen Alternativtext. Adressen der Bildvarianten erhalten Sie heute so:

    • über die Bilddomäne von expservices, ezjscore/call/expimage::url::<Knoten-ID>::<Attribut>::<Variante> für eine Variante (die Datei wird erzeugt, wenn sie fehlt) oder expimage::urls::<Knoten-ID>::<Attribut> für alle konfigurierten Varianten, jeweils mit url, absolute_url, Breite, Höhe und MIME-Typ (Entfernte Dienste mit expservices); oder
    • indem Sie sie in Ihr rest-View-Template schreiben ($node.data_map.<Attribut>.content.<Variante>.url) und renderedOutput lesen.

    Definieren Sie Bildvarianten für die Größen Ihres Frontends in image.ini (Bilder und Bildvarianten).

  • Links im Rich Text zeigen auf Adressen der Website; bilden Sie sie per URL-Alias oder Knoten-ID auf die Routen Ihres Frontends ab.

Vorschau und Entwürfe

Die Redaktion sieht die Vorschau in der Administration mit den Templates der Website. Ein Headless-Frontend braucht eine eigene Vorschau: Lesen Sie die Entwurfsversion über einen authentifizierten Aufruf mit Redakteursrechten und rendern Sie sie in einer geschützten Vorschau-Route. Planen Sie das früh ein; diesen Teil vergessen Teams am häufigsten.

Caching und Leistung

  • Das REST-Framework hat einen Antwort-Cache (rest.ini); die rest-Caches werden mit dem Tag content geleert.
  • Cachen Sie in Ihrem Frontend oder CDN; leeren Sie beim Veröffentlichen mit einem Workflow-Ereignis oder einem Listener, der Ihren Purge-Hook aufruft (Workflows und Ereignisse).
  • Holen Sie Listen seitenweise mit Limits.

Hybrid: Templates und API zusammen

Viele Projekte behalten die Website in Templates und ergänzen eine App über die API. So bleiben Vorschau, Layouts und SEO für die Website einfach, und die App erhält dieselben Inhalte. Beginnen Sie hybrid, sofern nichts dagegen spricht.

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