29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / eZ Publish / Les datatypes / Datatype : Object relations -- Relations d'objet





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

Datatype : Object relations -- Relations d'objet

Date de publication: le mardi 10 juillet 2007 à 04h31
Dernière modification: par Pascal BOYER le jeudi 24 février 2011 à 00h51

02/10/2007 8:40

Summary / Résumé

Stores relations to other content objects.
Stocke des relations vers d'autres objets de contenu.

Properties / Propriétés

Name
Nom
Internal name
Nom interne
Searchable
Interrogeable
Information collector
Collecteur d'information
Object relations
Relation d'objets
ezobjectrelationlist Yes / Oui No / Non

Description

This datatype makes it possible to store relations to multiple objects. It allows users to browse the node tree and select objects that should be related; in addition, it makes it possible to create new objects and automatically relate them to the one that is being edited. The following screenshot shows the class attribute edit interface for this datatype.
Ce datatype stocke des relations à de multiples objets et permet aux utilisateurs de parcourir l'arbre de nœuds pour sélectionner les objets à associer. De plus, il permet de créer de nouveaux objets et de les associer automatiquement à celui qui est actuellement édité. La capture d'écran ci-dessous montre l'interface d'édition des attributs de classe dans le cas de ce datatype:

Class attribute edit interface for the "Object relations" datatype
Interface d'édition des attributs de classe dans le cas du datatype Relation d'objets

The "Selection method" dropdown list makes it possible to set which browse interface that should be used when the node tree is being explored by users (from within the object edit interface). There are seven selection methods in total. Three of them allow the selection of one object at a time. The remaining four make it possible to select multiple objects at the same time. 
La liste déroulante Méthode de sélection permet de sélectionner l'interface de navigation à utiliser lorsque l'arbre de nœuds sera parcouru par l'utilisateur (depuis l'interface d'édition d'objet). Il existe sept méthodes de sélection possibles. Trois d'entre elles permettent la sélection d'un seul objet à la fois alors que les quatre autres autorisent la sélection multiple d'objets.

The following selection methods only allow the addition of one related object at a time:
La liste suivante énumère les méthodes de sélection ne permettant d'associer qu'un objet à la fois:

  • Dropdown list
    Liste déroulante
  • List with radio buttons
    Liste avec boutons radio
  • Template based, single
    Basé sur template, sélection simple

The following selection methods allow the addition of multiple related objects at the same time:
La liste suivante énumère les méthodes de sélection permettant d'associer plusieurs objets à la fois:

  • Browse (default)
    Parcourir (valeur par défaut)
  • List with check boxes
    Liste avec cases à cocher
  • Multiple selection list
    Liste à choix multiple
  • Template based, multi
    Basé sur template, sélection multiple

By default, the "Browse" selection method is used, which means that the system will bring up a standard browse interface for adding related objects. It is possible to specify the start-location for browsing. This is controlled by the "Default location" section. If any other selection method is used, the system will display a list of nodes as part of the object edit interface. In these cases, the list is automatically limited to one subtree, according to the specified default location. The template based selection methods ("Template based, multi" and "Template based, single") make use of the "objectrelationlist.tpl" template located in the "templates/node/view/" directory of the standard design. By creating a template override, you can customize the look and feel for these selection methods.
Par défaut, la méthode de sélection Parcourir est utilisée, ce qui signifie que le système affiche, pour ajouter des objets associés, une interface d'édition standard. Il est possible de spécifier le point de départ de l'action Parcourir. Ceci est contrôlé par la section «Emplacement par défaut». Si toute autre méthode de sélection est employée le système affiche alors une liste de nœuds dans une partie de l'interface d'édition d'objet. Dans tous ces cas, la liste est automatiquement limitée à un seul sous-niveau d'arborescence en accord avec l'emplacement spécifié par défaut. Les méthodes de sélection basées sur les templates ( Basé sur template, sélection simple et Basé sur template, sélection multiple) utilisent le template objectrelationlist.tpl situé dans le répertoire templates/node/view/ du design standard. En créant une surcharge, vous pouvez personnaliser l'apparence de ces méthodes de sélection.

Note that if a related object is moved to the trash, the relation will still exist. The related object itself will not be shown when the object which it is related to is displayed. This behavior can be changed by overriding the default templates. If the "Browse" selection method is used, in the object edit interface, the "Published" column of the corresponding related object will read "No".
Retenez que lorsqu'un objet lié est placé dans la poubelle alors la relation persiste. Cependant, l'objet lié lui-même ne sera plus visible lorsque l'objet auquel il est lié sera affiché. Ce comportement peut être modifié en créant une surcharge des templates utilisés par défaut. Lorsque la méthode de sélection Parcourir est employée la colonne Publié correspondant à l'objet lié affichera Aucun dans l'interface d'édition de l'objet.

The "Type" dropdown list is no longer in use. It is only available if the backwards compatibility mode is enabled. This is controlled by the "AdvancedObjectRelationList" setting located in the "[BackwardCompatibilitySettings]" section of the "settings/site.ini" configuration file or an override. Due to some problems with the old implementation, this setting is disabled by default. This documentation page provides the description of the datatype assuming that the "AdvancedObjectRelationList" setting is disabled. 
Le menu déroulant Type n'est plus utilisé que lorsque le mode compatibilité ascendante est activé. Ce mode est contrôlé par le paramètre AdvancedObjectRelationList de la section [BackwardCompatibilitySettings] du fichier de configuration settings/site.ini ou de l'une de ses surcharges. En raison de certains problèmes liés à l'ancienne implémentation, ce paramètre est désactivé par défaut. La présente documentation propose la description du datatype en supposant que le paramètre AdvancedObjectRelationList est désactivé.

The "Allowed classes" menu makes it possible to control which types of objects that users should be allowed to select while browsing the node tree.
Le menu Classes autorisées permet de définir les types d'objets que les utilisateurs pourront sélectionner lorsqu'ils parcourront l'arbre de nœuds.

In addition to allowing relations to existing objects, this datatype makes it possible to create new objects and automatically relate them to the one that is being edited. Note that this currently works with all selection methods except the "Browse" method. In order to use this feature, you need to specify which type of object that should be created and where the newly created objects should be placed. This can be done by making use of the "Object class" dropdown list in the "New objects" section and the "Default location" section. If the "Object class" dropdown is set to "none", it will not be possible to create new objects from within the object edit interface.
En plus de permettre des relations vers des objets existants, ce datatype permet de créer de nouveaux objets qui seront automatiquement associés à l'objet actuellement édité. Retenez que cela fonctionne actuellement avec toutes les méthodes de sélection exceptée la méthode Parcourir. Pour accéder à cette fonctionnalité, vous devez spécifier le type d'objet devant être créé ainsi que l'emplacement où il sera créé. Pour cela, utilisez la liste déroulante Classe d'objet du cadre Nouveaux objets et le bouton Sélection de l'emplacement du cadre Emplacement par défaut. Si la liste déroulante Classe d'objet indique (aucun) alors il ne sera pas possible de créer de nouveaux objets à partir de l'interface d'édition d'objet.

As previously mentioned, the "Default location" section can be used to limit the list of nodes to the specified subtree (for any selection method except "Browse"). For example, if you use the "Media" folder as the default location and specify "List with check boxes" as the selection method in the class edit interface, the system will display nodes which are located under the "Media" node (only the ones which are directly below it) along with checkboxes for making selections right in the object edit interface. If no default location is specified, the list of nodes will only contain the top level nodes.
Comme nous le mentionnions précédemment, la section Emplacement par défaut peut être utilisée pour limiter la liste des nœuds de la sous-arborescence spécifiée (pour toutes les méthodes de sélection exceptée la méthode Parcourir). Si vous utilisez par exemple le dossier Médiathèque comme emplacement par défaut et spécifiez, dans l'interface d'édition de classe, Liste avec cases à cocher comme méthode de sélection, alors le système affichera les nœuds situés sous le nœud Médiathèque (et seulement ceux situés directement dessous) associés à des cases à cocher afin de réaliser des sélections à partir de l'interface d'édition d'objet. Si aucun emplacement par défaut n'est défini, la liste de nœuds ne contiendra que les nœuds de plus haut niveau.

Object attribute edit interface / Interface d'édition des attributs d'objet

The look and feel of the object attribute edit interface for this datatype varies depending on which selection method that is specified at the class level. Note that the "Create new" button will not be available unless a default location and a class for newly created objects are specified.
Dans le cas de ce datatype, l'apparence de l'interface d'édition des attributs d'objet varie en fonction de la méthode de sélection choisie au niveau de la classe. Retenez que le bouton Create new (dans l'interface d'édition d'objet) ne sera affiché que si un emplacement par défaut et une classe d'objet sont définis pour les nouveaux objets à créer.

The following screenshot shows the object attribute edit interface for this datatype in a case where the "Browse" selection method is used.
L'image ci-dessous montre l'interface d'édition des attributs d'objet dans le cas de ce datatype et lorsque la méthode de sélection Parcourir est définie:

Object attribute edit interface for the "Object relations" datatype (default selection method)
Interface d'édition des attributs d'objet dans le cas du datatype Relation d'objets (et méthode de sélection par défaut)

The following screenshot shows the object attribute edit interface in a case where the "List with check boxes" selection method is used while both the default location (in this case the "Media" folder) and the type of newly created objects are specified.
L'image ci-dessous montre l'interface d'édition des attributs d'objet lorsque la méthode de sélection Liste et cases à cocher est définie et que l'emplacement par défaut (dans ce cas le dossier Médiathèque) ainsi que le type d'objets pouvant être créés sont spécifiés:

Object attribute edit interface for the "Object relations" datatype (list with checkboxes)
Interface d'édition des attributs d'objet dans le cas du datatype Relation d'objets (et Liste avec cases à cocher)

The following screenshot shows the object attribute edit interface in a case where the "Multiple selection list" selection method is used and the "Media" folder is specified as the default location.
L'image ci-dessous montre l'interface d'édition des attributs d'objet lorsque la méthode de sélection Liste à choix multiple est définie et que le dossier Médiathèque est l'emplacement par défaut:

Object attribute edit interface for the "Object relations" datatype (multiple selection list)
Interface d'édition des attributs d'objet dans le cas du datatype Relation d'objets (et Liste à choix multiple)

The following screenshot shows the object attribute edit interface in a case where the "Dropdown list" selection method is used and the "Media" folder is specified as the default location.
L'image ci-dessous montre l'interface d'édition des attributs d'objet lorsque la méthode de sélection Liste déroulante est définie et que le dossier Médiathèque est l'emplacement par défaut:

Object attribute edit interface for the "Object relations" datatype (dropdown list)
Interface d'édition des attributs d'objet dans le cas du datatype Relation d'objets (et Liste déroulante)

The following screenshot shows the object attribute edit interface in a case where the "List with radio buttons" selection method is used and the "Media" folder is specified as the default location.
L'image ci-dessous montre l'interface d'édition des attributs d'objet lorsque la méthode de sélection Liste avec boutons radio est définie et que le dossier Médiathèque est l'emplacement par défaut:

Object attribute edit interface for the "Object relations" datatype (list with radio buttons)
Interface d'édition des attributs d'objet dans le cas du datatype Relation d'objets (et Liste avec boutons radio)

Raw output / Sortie brute

The ".content" of an ezcontentobjectattribute object using this datatype returns a hash containing one element called "relation_list". This element can be either an empty array (if there are no relations) or an array of hashes. If there are related objects, each element will contain information about a specific object. The hash-structure of the elements is given in the table below.
La partie .content d'un objet ezcontentobjectattribute utilisant ce datatype renvoie un tableau associatif (hash) contenant un élément appelé relation_list. Cet élément peut être soit un tableau vide (s'il n'y a pas de relation) soit un tableau de hash. S'il y a des objets associés, chaque élément contiendra des informations sur un de ces objets. La structure hash des éléments est explicitée par le tableau ci-dessous:

Key
Clef
Type Description
priority string
chaîne de caractères
The node's priority (positive or negative integer).
La priorité du nœud (nombre entier positif ou négatif)
contentobject_id string
chaîne de caractères
The ID number of the content object.
Le numéro de ID de l'objet de contenu.
contentobject_version string
chaîne de caractères
The number of the published version.
Le numéro de ID de la version publiée.
node_id string
chaîne de caractères
The ID number of the node.
Le numéro de ID du nœud.
parent_node_id string
chaîne de caractères
The ID number of the parent node.
Le numéro de ID du nœud parent.
contentclass_id string
chaîne de caractères
The ID number of the content class which the object is an instance of.
Le numéro de ID de la classe de contenu dont l'objet est une instance.
contentobject_remote_id string
chaîne de caractères
The remote id of the related content object.
Le ID distant de l'objet de contenu associé.
identifier boolean
booléen
Reserved for future use.
Réservé à un usage ultérieur.
is_modified boolean
booléen
Not in use (needed for backwards compatibility).
Non utilisé (nécessaire à la compatibilité ascendante).