ezobjectrelationlist per Script anlegen

eZ publish
18.07.2016

Und einmal mehr versteckt sich in den Untiefen der Scriptprogrammierung für eZ publish eine Herausforderung die ihres Gleichen sucht: Das anlegen einer Objektverknüpfungsliste.

Als die eZ-Entwickler entsprechende Funktionalität erdacht haben, muss ihnen schlecht gewesen sein. Die Umsetzung spottet jeglichen Gepflogenheiten im Umgang mit Listen und widerspricht so ziemlich allem, was man so über die Jahre im Umgang mit eZ gelernt hat.

Hinter einer Objektverknüpfungsliste verbirgt sich im weiteren Sinne ein Array mit Objekt-IDs. Das hat schon so manchen Templateentwickler kopfschüttelnd zurück gelassen. Ist man von eZ doch gewohnt, dass alles Objekt und im Objekt lieber eine Information zuviel - gerne auch redundant - vorhanden ist. Die ezobjectrelationlist ist da anders, spartanisch, einfach eine Liste mit IDs eben. Aber die Frontendentwicklung ist hier nicht das Thema.

Thema ist: Anlegen einer ezobjectrelationlist per Script.
Wie man prinzipiell Nodes und Objects per Script anlegt, ist auf share.ez.no hinreichend dokumentiert.
Leider jedoch kein Wort zur ezobjectrelationlist. Wer jetzt meint, mit etwas Kombinationsgabe und ein wenig herum Probieren kommt der findige Entwickler von allein auf einen grünen Zweig... nein, das wird nicht klappen.

Für gewöhnlich reicht es, eine ObjectID zu übergeben und eZ sorgt selbst dafür, dass die Verknüpfung korrekt aufgelöst wird. Nicht so bei der ezobjectrelationlist.
Weder eine kommaseparierte Liste, noch ein Array mit ObjectIDs helfen weiter. Auch die Übergabe ganzer Objekte bringt nichts. Ich habe mit foreach experimentiert, mit fromString und mit eZContentFunctions::updateAndPublishObject. Ich habe an mir gezweifelt, habe geröhrt und geflucht.

...und ich habe die Lösung gefunden. Ich sag mal, eher zufällig, aber immerhin. Das Geheimnis: eZ erwartet eine minusseparierte Liste:

$attributesData['ezobjectrelationlist'] = implode('-',$IDarray);

Ist das nicht zum Verzweifeln?

comments powered by Disqus

Sexualität

Christopher Street Day

plastikpuppe

Man möchte meinen, in einer aufgeklärten Gesellschaft würden alle Geschlechter gleich behandelt und die Anerkennung sexueller Ausrichtungen unterschiedlichster Ausprägung wäre Konsens.

Dass dem nicht so ist, lässt sich nicht zuletzt an der nach wie vor unerfreulichen Debatte über die Gleichstellung gleichgeschlechtlicher Lebensgemeinschaften mit der klassischen Hetero-Ehe.

Auch wenn der farbenfrohe Christopher Street Day zum Gedenken an den Stonewall-Aufstand 1967 wie ein ausgelassener Karnevalsumzug anmutet, steckt auch heute noch der Kampf um Anerkennung und Gleichbehandlung dahinter.

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