Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Titel: Verbesserungen bei verknüpften Objekten aus dem XML-Textfeld

Rückwärtskompatibilität und Upgrade

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/features/3.9/xml_related_objects.txt

This page is a translation. Read the English original

*Titel: Verbesserungen bei verknüpften Objekten aus dem XML-Textfeld

* Rückwärtskompatibilität und Upgrade

Diese Funktion ist nur eingeschaltet, wenn diese Einstellung 'enabled' ist:
site.ini:[BackwardCompatibilitySettings].ObjectRelationTyped

Führen Sie vor der Verwendung das Upgrade-Skript aus:
update/common/scripts/3.9/updatetypedrelation.php

*Dokumentation:

Es gibt 4 Arten von Verknüpfungen zwischen Objekten im System:

- 'Common' (gewöhnlich). Gewöhnliche Verknüpfungen entstehen, wenn der Benutzer verknüpfte
Objekte von Hand hinzufügt.

- 'XML linked' (XML-verlinkt). Sie werden automatisch angelegt, wenn Sie ein Objekt mit
XML-Feldern speichern, deren <link>-Tags auf Objekte oder Knoten verweisen
(z. B. <link href='ezobject://123>... ). Entfernen Sie das <link>-Tag und speichern das Objekt,
wird die Verknüpfung automatisch entfernt.

- 'XML embedded' (XML-eingebettet). Sie werden automatisch angelegt, wenn Sie ein Objekt mit
XML-Feldern speichern, deren <embed>-Tags Objekte oder Knoten einbetten. Entfernen Sie das
<embed>-Tag und speichern das Objekt, wird die Verknüpfung automatisch entfernt.

- 'by Attribute' (über Attribut). Verknüpfungen über Attribute der Datentypen
"Objektverknüpfung" und "Objektverknüpfungsliste".

*Änderungen an der Datenbank:

Die Tabelle 'ezcontentobject_link' hat ein neues Feld 'relation_type', um Verknüpfungen
verschiedener Art zu unterscheiden. Sein Wert ist eine Bitmaske, in der die vier Arten durch
Zweierpotenzen gekennzeichnet sind: 0 - common, 1 - embedded, 2 - linked, 3 - by attribute.

Mögliche Werte des Felds 'relation_type':
1 - common (0001)
2 - embedded (0010)
3 - common und embedded (0011)
4 - linked (0100)
5 - common und linked (0101)
6 - embedded und linked (0110)
7 - common, embedded und linked (0111)
8 - by attribute (1000)

Hat ein Objekt mehrere verschiedene Verknüpfungen zu einem anderen Inhaltsobjekt, werden die
Verknüpfungen auf Objektebene zusammengefasst und durch eine Tabellenzeile dargestellt. Eine
Verknüpfung auf Attributebene steht immer in einer eigenen Zeile der Tabelle
'ezcontentobject_link', mit 'relation_type' 8 und der ID des Attributs, das die Verknüpfung
speichert, in 'contentclassattribute_id'. (Beachten Sie, dass 'contentclassattribute_id' bei
Verknüpfungen auf Attributebene immer null ist.)

*Template-Fetch-Funktionen:

Diese Fetch-Funktionen wurden geändert: related_objects, related_objects_count,
reverse_related_objects, reverse_related_objects_count.

Der Parameter 'all_relations' hat jetzt einen gemischten Typ. Er kann wie in 3.8 boolesch
true/false sein, aber auch ein Array. Das Array kann diese Zeichenketten enthalten: 'common',
'xml_link', 'xml_embed', 'attribute'. Jede steht für die entsprechende Art der Verknüpfung. Die
Arten lassen sich kombinieren und in beliebiger Reihenfolge angeben. Der neue Parameter ist
voll kompatibel mit den anderen Optionen.

Außerdem hat die Klasse ezcontentobject diese Funktionsattribute:

linked_contentobject_array
embedded_contentobject_array
reverse_embedded_contentobject_array
reverse_linked_contentobject_array

Sie funktionieren wie die entsprechenden Fetch-Funktionen und geben alle verknüpften bzw.
rückwärts verknüpften Objekte einer bestimmten Art zurück.

*Beispiele:

Beide Beispiele geben das Array der Objekte zurück, die mit dem Objekt $my_object "verlinkt" sind.

{def $linked = fetch( 'content', 'related_objects', hash( 'object_id', $my_object.id, 'all_relations', array( 'xml_link' ) ) )}

{def $linked = $my_object.linked_contentobject_array}

Something wrong on this page? Report an error

Documentation license

This page was inherited from the documentation of the original software. It is not covered by the GNU Free Documentation License; it is distributed under the GNU General Public License, version 2.

Copyright (C) 1999 - 2014 eZ Systems AS and contributors