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




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

The template language -- Langage des templates

Table des matières

  1. The template language -- Langage des templates
  2. Comments -- Commentaires
  3. Variable types -- Types de variables
  4. Variable usage -- Utilisation des variables
  5. Array and object inspection -- Inspection des tableaux et objets
  6. Control structures -- Structures de contrôle
  7. Functions and operators -- Fonctions et opérateurs

Functions and operators -- Fonctions et opérateurs

Date de publication: le mardi 29 mars 2011 à 20h39
Dernière modification: par Pascal BOYER le vendredi 1 avril 2011 à 15h15

28/09/2010 01:29

versions 3.9, 3.10, 4.x

The eZ Publish template language offers a collection of various functions and operators that can be used to carry out different tasks. In addition, it is possible to extend the system by creating custom operators for special needs. Custom operators have to be programmed in PHP.
Le langage de template de eZ Publish offre un vaste ensemble de fonctions et d' opérateurs utilisés pour effectuer différentes tâches. Il est tout à fait possible d'étendre le système en créant des opérateurs personnalisés répondant à des besoins particuliers. Ces opérateurs devront être écrits en PHP.

Template functions / Fonctions de template

A function takes a set of named parameters, carries out a specific task and returns a result. It can be called anywhere in a template using the following syntax:
Une fonction prend en argument un jeu de paramètres nommés, effectue une tâche spécifique puis retourne le résultat. Une fonction peut-être appelée n'importe où dans un template à partir de la syntaxe suivante:

{function_name parameter1=value1 parameter2=value2 ...}

A function may take none, one or several parameters. The parameters must be specified after the function name, separated by spaces. Since each parameter is specified using the parameter's name, the parameters can be provided in any order. Each parameter must be assigned a value using the equal sign. The following illustration shows the typical usage of a commonly used function.
Une fonction peut prendre zéro, un ou plusieurs paramètres. Ils doivent être spécifiés après le nom de la fonction, séparés par des espaces. Puisque chaque paramètre est désigné par son nom, ils peuvent être passés dans n'importe quel ordre. A chaque paramètre doit être affectée une valeur par le biais du signe égal ( "=" ). L'illustration suivante présente l'usage le plus fréquent d'une fonction:

Typical components of a function call
Composants typiques d'un appel de fonction

The example above calls the "node_view_gui" function. This function displays a node by including the template that is associated with the view mode. The node is specified using the "content_node" parameter. The desired view mode is specified using the "view" parameter.
L'exemple ci-dessus appelle la fonction node_view_gui qui affiche un nœud en incluant le template associé au mode de vue. Alors que le nœud est spécifié par le biais du paramètre content_node, le mode de vue désiré est, quant à lui, défini par le paramètre view.

Template operators / Opérateurs de template

An operator takes unnamed parameters, carries out a specific task and returns a result. In addition, an operator is capable of handling a parameter which is passed to it using a pipe. It can be called anywhere in a template using the following syntax:
Un opérateur prend des paramètres non nommés, effectue une tâche spécifique puis retourne un résultat. Un opérateur est par ailleurs capable de gérer un paramètre passé par le biais d'un "pipe" (lire «paillepe», signifie «redirigé vers»). Un opérateur peut être appelé n'importe où dans un template à partir de la syntaxe suivante:

{$input_parameter|operator_name( parameter1, parameter2 ... )} 

Because the operator only takes unnamed parameters, the parameters must be specified in the order dictated by the operator's documentation page. In addition, the parameters must be separated by commas. The following illustration shows the typical usage of a commonly used operator.
Parce qu'un opérateur ne prend que des paramètres non nommés, les paramètres doivent suivre l'ordre dicté par la page de documentation de l'opérateur. Les paramètres doivent être en outre séparés par des virgules. Voici une exemple de l'usage le plus fréquent d'un opérateur:

Typical components of a template operator call
Composants typiques d'un appel d'opérateur

The example above demonstrates the usage of the "datetime" operator. This operator can be used to convert a UNIX timestamp to a human readable format. The timestamp is provided by the $yesterday_evening variable as the input parameter. The first parameter tells the operator that the output should be formatted using a custom schema. The schema is defined by the second parameter (hours : minutes).
L'exemple ci-dessus illustre l'utilisation de l'opérateur datetime utilisé pour convertir un "timestamp" UNIX en un format de date humainement lisible. Le timestamp est fourni par la variable $yesterday_evening passée en paramètre d'entrée. Le premier paramètre indique à l'opérateur que la sortie doit être formatée en suivant un schéma personnalisé. Ce schéma est défini par le second paramètre ('%h:%i' - heures : minutes).

Piping / Utilisation de "pipe" (prononcer "paillepe")

An operator takes input on the left hand side and produces output on the right hand side. A collection of operators can be glued together using pipes. A pipes makes sure that the output from one operator is presented as the input parameter to another operator. The following example demonstrates how pipes and operators can be used to create a string.
Un opérateur prend une entrée d'un côté et produit une sortie de l'autre. Certains opérateurs peuvent être assemblés par le biais de pipes. Un pipe permet de s'assurer que la sortie d'un opérateur sera utilisée en tant qu'entrée d'un autre opérateur. L'exemple suivant illustre comment utiliser des pipes et des opérateurs pour créer une chaîne de caractères:

{concat( 'To ', 'The ' )|prepend( 'Back ' )|append( 'Future' )}

The following output will be produced:
La sortie suivante sera produite:

Back To The Future

Commentaires