Date de publication: le mardi 29 mars 2011 à 22h24
Dernière modification: par Pascal BOYER le lundi 4 avril 2011 à 18h37
Table des matières
- Information extraction -- Extraction d'informations
- Outputting node and object data -- Extraire les données des noeuds et objets
versions 3.9, 3.10, 4.x
Information that is stored by eZ Publish can be extracted using the "fetch" template operator. This operator gives access to the fetch functions that a module provides. It is typically used to extract nodes, objects, etc. using the content module. The fetch operator can only be used with modules that provide support for data fetching. Please refer to the "Fetch functions" section of the reference chapter for a complete overview of the fetch functions. The following model and table shows the usage and the parameters of the fetch operator.
Toute information stockée par eZ Publish peut être extraite grâce à l'opérateur de template
fetch
. Cet opérateur donne accès aux fonctions de recherche fournies par un module et il est principalement utilisé pour extraire des nœuds, des objets, etc... en utilisant le module content. L'opérateur fetch ne peut être utilisé qu'avec les modules supportant la recherche de données. Référez-vous à la section
Fonctions de recherche
du chapitre Référence pour de plus amples information sur les fonctions de recherche. Le modèle et le tableau ci-dessous illustrent l'utilisation de cet opérateur ainsi que les paramètres qu'il accepte.
fetch( <module>, <function>, <parameters> )
|
Parameter Paramètres | Description |
|---|---|
| module |
The name of the target module. Le nom du module cible. |
| function |
The name of the fetch function within the target module. Le nom de la fonction de recherche dans le module cible. |
| parameters |
An associative array containing the function parameters. Un tableau associatif contenant les paramètres de la fonction. |
A module's fetch functions and parameters are defined in the "function_definition.php" file within the directory of the module.
Les fonctions de recherche et les paramètres d'un module sont définis dans le fichier function_definition.php situé dans le répertoire du module.
Fetching a single node / Rechercher un seul nœud
The following example demonstrates how the fetch operator can be used to extract a single node from the database.
L'exemple ci-après illustre l'utilisation de l'opérateur fetch pour l'extraction d'un unique nœud de la base de données:
{def $my_node=fetch( content, node, hash( node_id, 13 ) )} ... {undef}
The example above instructs eZ Publish to fetch a single node from the content module. Only one parameter is given, which is the ID number of the node that should be fetched. The operator will return an "ezcontentobjecttrenode" object which will be stored in the $my_node variable. This variable can then be used to extract information about the node and the object that it encapsulates. For example, it is possible to extract the name, attributes and the time when the object was published. If the node is unavailable / non-existing or the currently logged in user doesn't have read access to it, the operator will return a FALSE boolean value.
L'exemple ci-dessus demande au système eZ Publish de rechercher un unique nœud dans le module content. Un seul paramètre est spécifié: le numéro de ID du nœud recherché. L'opérateur retournera un objet
ezcontentobjecttreenode
qui sera stocké dans la variable $my_node. Cette variable peut être alors utilisée pour extraire des informations sur le nœud et les objets qu'il encapsule. Il est possible d'extraire par exemple, le nom, les attributs et l'heure de publication de l'objet. Si le nœud n'est pas disponible, s'il n'existe pas ou encore si l'utilisateur n'a pas les droits suffisants pour voir l'objet, alors l'opérateur retourne la valeur booléenne FALSE.
Fetching multiple nodes / Rechercher plusieurs nœuds
It is possible to fetch all the nodes that are directly below a specific node. This can be done by using list instead of node as the second parameter to the "fetch" operator. The following example demonstrates how the fetch operator can be used to extract all the nodes that are directly below node number 13.
Il est possible de rechercher tous les nœuds situés directement sous un nœud particulier en utilisant, en deuxième position, le paramètre list en lieu et place du paramètre node. L'exemple suivant illustre l'utilisation de l'opérateur fetch pour l'extraction de tous les nœuds placés directement sous le nœud 13.
{def $my_node=fetch( content, list, hash( parent_node_id, 13 ) )} ... {undef}
The operator will return an array of "ezcontentobjecttrenode" objects. The list fetch function of the content module can take several parameters. These parameters are optional and can be used to fine-tune the fetch for example by filtering out specific nodes. The following table gives an overview of the most commonly used parameters.
L'opérateur retournera un tableau d'objets
ezcontentobjecttreenode
. La fonction de recherche list du module content peut recevoir plusieurs paramètres optionnels servant à affiner la recherche en filtrant, par exemple, certains nœuds. Le tableau suivant présente les paramètres les plus couramment utilisés.
|
Parameter Paramètres | Description |
|---|---|
| sort_by |
The method and direction that should be used when the nodes are sorted (must be specified as an array). La méthode et la direction à utiliser pour trier les nœuds (doit être spécifié au format tableau). |
| limit |
The number of nodes that should be fetched. Le nombre de nœuds à recherchés. |
| offset |
The offset at which the fetch should start. L'offset/décalage à partir duquel doit commencer la recherche. |
| class_filter_type |
The type of filter that should be used, either "include" or "exclude". Le type de filtre à utiliser: soit include soit exclude. |
| class_filter_array |
The type of nodes that should be included or excluded by the filter (must be specified as an array). Le type de nœud à inclure ou exclure par le filtre (doit être spécifié au format tableau). |
The following example demonstrates how to fetch an alphabetically sorted array of the ten latest articles that are directly below node number 13.
L'exemple suivant illustre comment extraire un tableau trié alphabétiquement des dix derniers articles placés directement sous le nœud numéro 13:
{def $my_node=fetch( content, list, hash( parent_node_id, 13, limit, 10, class_filter_type, include, class_filter_array, array( 'article' ) ) )} ... {undef}
Please refer to the documentation page of the "list" fetch function for a complete overview of the available parameters and examples of usage.
Référez-vous à la page de documentation de la fonction de recherche
list
pour une documentation plus complète sur les paramètres disponibles et leur usage.
Table des matières
- Information extraction -- Extraction d'informations
- Outputting node and object data -- Extraire les données des noeuds et objets
Commentaires














