Create Object without Node?

eZ publish
04.04.2016

Stapelverarbeitung, Datenimport oder aus Spaß an der Freud, gelegentlich möchte der geneigte Entwickler Objekte per Script anlegen.

eZ publish hält dafür auch ein paar - zumindest auf den ersten Blick - geeignete Klassen und Methoden parat.

Auf den zweiten Blick, oder vielmehr im Praxistest, ergeben sich dann ein paar Ungereimtheiten. Etwa wenn im erzeugten Objekt keine NodeID zu finden ist.

Frohen Mutes lege ich also ein Objekt an:

$contentObject = eZContentFunctions::createAndPublishObject( $params );

Und freue mich, mit der daraus resultierenden NodeID weiter arbeiten zu können. Die Doku sagt, die NodeID ist hier zu finden: $contentObject->MainNodeID

Pustekuchen, nichts steht dort. Niente, nada. Einfach leer das Attribut.

Ein Blick ins Backend zeigt: Das Objekt wurde erzeugt und brav mit einer NodeID ausgestattet.

Der folgende Foreneintrag, den Google hervor bringt, macht mir Angst:

Die Frage:
The main node id is not set ! Is it normal ?
Die Antwort:
Depends, does it have any assigned nodes at all?
If not then it is ok.

Es kann also auch Objekte ohne Node geben. Wo schwirren die dann rum?

Try and Error: Was passiert, wenn ich das gerade erzeugte Objekt erneut fetche?

$contentObject =& eZContentObject::fetch($contentObject->ID);

Hossa, da ist sie, die NodeID... also wenn man Glück hat:

echo "MAIN_NODE_ID::".$contentObject->MainNodeID."<br>";

Wenn man kein Glück hat, dann vielleicht so:

$node = eZContentObjectTreeNode::fetchByContentObjectID($contentObject->ID);

... und man hat einen Node mit allen Informationen:

echo "MAIN_NODE_ID::".$node[0]->MainNodeID."<br>";

eZ macht es einem nicht immer leicht.

comments powered by Disqus

Eon

Fällt uns der Atomausstieg finanziell auf die Füße?

Atom in Dosen

Das Gerangel um den Atomausstieg treibt immer bizarrere Blüten. Letztlich zielen alle darauf ab, wie sich die immensen Kosten für Stillegung und Rückbau der Kraftwerke so wie für die Zwischen- und Endlagerung des Mülls auf die Allgemeinheit abwälzen lassen.

Der Phantasie scheinen keine Grenzen gesetzt. Entschädigungsklagen in Milliardenhöhe sind ebenso ein Werkzeug, wie ein Badbank ähnliches Konstrukt, das Gewinne sichern und Verluste vergesellschaften soll.

Diese miesen Spielchen der Atomlobby können in absehbarer Zeit auch München treffen. Die Stadtwerke sind nach wie vor mit Eon zusammen am Atomkraftwerk Isar 2 beteiligt. Wenn sich denn Eon aus der Affäre ziehen kann, steht zu befürchten, dass die Stadt auf einem riesigen Schuldenberg sitzen bleibt.

A ? B C D E F G H I J K L M N O P Q R S T U V W Z