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

Die Content-API

Inhalte aus PHP lesen - eZContentObject, eZContentObjectTreeNode und eZContentObjectAttribute, Abruf nach ID, Remote-ID und URL-Alias, Teilbaumabfragen mit Filtern, Data Maps, Versionen und Sprachen sowie Lesen unter…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/creators/app-creators/the-content-api.md

On this page

This page is a translation. Read the English original

Die Content-API

Diese Seite richtet sich an Anwendungsentwickler, die Inhalte in PHP lesen: in Ansichten, Diensten, Befehlen und Cronjobs. Die Klassen sind eZContentObject, eZContentObjectTreeNode und eZContentObjectAttribute des Kernels in kernel/classes/.

Inhalt

  1. Objekte, Knoten und Attribute
  2. Ein einzelnes Element abrufen
  3. Listen abrufen
  4. Attribute lesen
  5. Versionen und Sprachen
  6. Rechte und Kontext

Objekte, Knoten und Attribute

KlasseIstWichtige Attribute
eZContentObjectein Inhalt mit allen seinen Versionen und Übersetzungenid, remote_id, name, current_version, main_node_id, class_identifier, section_id
eZContentObjectTreeNodeeine Platzierung eines Objektsnode_id, parent_node_id, path_string, url_alias, depth, object
eZContentObjectAttributeein Feld einer Version in einer Sprachedata_type_string, content, has_content, contentclass_attribute_identifier

Ein einzelnes Element abrufen

$object = eZContentObject::fetch( 57 );
$object = eZContentObject::fetchByRemoteID( 'expdemo-settings-page' );
$node   = eZContentObjectTreeNode::fetch( 2 );
$node   = eZContentObjectTreeNode::fetchByURLPath( 'about_us' );

Verwenden Sie für Inhalte, von denen Ihre Anwendung abhängt, bevorzugt Remote-IDs: Sie sind über Installationen hinweg stabil, IDs nicht.

Listen abrufen

$nodes = eZContentObjectTreeNode::subTreeByNodeID( array(
    'ClassFilterType'  => 'include',
    'ClassFilterArray' => array( 'event' ),
    'AttributeFilter'  => array( array( 'event/start_date', '>=', time() ) ),
    'SortBy'           => array( array( 'attribute', true, 'event/start_date' ) ),
    'Depth'            => 3,
    'Limit'            => 20,
    'Offset'           => 0 ), $parentNodeID );

$count = eZContentObjectTreeNode::subTreeCountByNodeID( array(
    'ClassFilterType' => 'include', 'ClassFilterArray' => array( 'event' ) ), $parentNodeID );

Das ist die PHP-Seite der Template-Fetches (Fetch-Funktionen: Daten in Templates lesen). Setzen Sie immer ein Limit.

Attribute lesen

$dataMap = $object->dataMap();                     // identifier => eZContentObjectAttribute
if ( isset( $dataMap['title'] ) && $dataMap['title']->hasContent() )
    $title = $dataMap['title']->content();         // a string for ezstring
$image = $dataMap['image']->content();             // an eZImageAliasHandler for ezimage
$alias = $image->attribute( 'medium' );            // url, width, height, alternative_text
$text  = $dataMap['title']->toString();            // a plain string form for every datatype

content() liefert, was der Datentyp speichert (eine Zeichenkette, eine Zahl, ein Objekt); toString() eine Zeichenkette, die Sie speichern und später an fromString() übergeben können (Lebenszyklus eines Datentyps).

Versionen und Sprachen

$version = $object->version( $object->attribute( 'current_version' ) );
$germanMap = $object->fetchDataMap( false, 'ger-DE' );
$languages = $object->availableLanguages();

Die aktuelle Version ist die veröffentlichte; Entwürfe sind andere Versionen mit eigenem Status. Welche Sprache eine Seite zeigt, folgt der SiteLanguageList des Siteaccess (Inhaltssprachen).

Rechte und Kontext

  • subTreeByNodeID() wendet content/read des aktuellen Benutzers an, sofern Sie nicht 'Limitation' => array() übergeben; übergeben Sie das niemals in Code, der Benutzern Ergebnisse zeigt.
  • $node->canRead() und $object->canEdit() prüfen ein einzelnes Element (Richtlinienfunktionen und Einschränkungen).
  • In Kommandozeilenskripten ist der aktuelle Benutzer anonym, bis Sie einen anmelden; Skripte, die mehr brauchen, müssen einen eigens dafür vorgesehenen Benutzer anmelden (eZUser::setCurrentlyLoggedInUser()), nicht den Administrator.
  • Große Listen: Rufen Sie seitenweise ab und leeren Sie dazwischen die Caches im Speicher (eZContentObject::clearCache()), damit einem langen Skript nicht der Speicher ausgeht.

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