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 / eZ Publish: Documentation technique / eZ Publish : Les templates / Basic template tasks -- Tâches de base d'un template





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

Basic template tasks -- Tâches de base d'un template

Date de publication: le mardi 29 mars 2011 à 22h01
Dernière modification: par Pascal BOYER le lundi 4 avril 2011 à 18h38

Table des matières

  1. Basic template tasks -- Tâches de base d'un template
  2. URL handling -- Gestion des URL

28/09/2010 01:55

versions 3.9, 3.10, 4.x

This section sheds light on some common issues related to template development.
Ce chapitre met en lumière quelques uns des problèmes les plus courants liés au développement de templates.

Template inclusion / Inclusion d'un template

A template file can be included using the "include" function. Since this function makes it possible to include any file from any location within the eZ Publish directory, it must be told that it should look for the file within the design directory. This can be done by prefixing the path/filename with "design:". The following example demonstrates how the include function can be used to include a template file called "footer.tpl", which is located in the templates directory of a design.
L'inclusion d'un fichier template est réalisée par le biais de la fonction include permettant d'inclure n'importe quel fichier depuis n'importe quel répertoire de eZ Publish. En revanche, il est nécessaire de préciser que le fichier à inclure doit être recherché dans le répertoire design/. Ceci se fait en préfixant le chemin ou le nom du fichier avec "design:". Ci-après, un exemple d'utilisation de la fonction include pour inclure un template nommé footer.tpl situé dans le répertoire templates d'un design:

{include uri='design:footer.tpl'}

If the requested file is not found within the main design of the siteaccess, the system will search for it in the additional designs and the standard design. Please refer to the documentation of the automatic fallback system for more information about this feature.
Si le fichier demandé n'est pas trouvé dans le design principal du siteaccess utilisé, alors le système le recherche dans les autres design puis dans le design standard. Reportez-vous à la documentation du système de repli automatique pour de plus amples informations sur cette fonction.

Output washing / Nettoyage des sorties

Variables that may contain bogus strings should always be washed using the "wash" operator. This operator makes sure that the output does not contain any elements that may mess up the HTML generated by eZ Publish. The following example demonstrates how the wash operator works.
Les variables susceptibles de contenir des chaînes de caractères malicieuses doivent toujours être "nettoyées" par l'opérateur wash . Celui-ci permet de s'assurer que le code généré ne contient aucun élément propre à «perturber» le code HTML produit par eZ Publish. L'exemple suivant montre comment fonctionne l'opérateur wash:

{def $bogus_string='hello < world'} 
{$bogus_string|wash()}

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

hello < world

E-mail address obfuscation / Obscurcissement d'adresse mail

In addition to securing proper output, the wash operator can also be used to obfuscate E-mail addresses on a web page. An obfuscated E-mail address has a less chance of getting picked up by a robot searching for E-mail addresses to put on a spammer's list. The following example demonstrates how the wash operator can be used with an E-mail address.
En plus de sécuriser/nettoyer les sorties produites, l'opérateur wash peut également obscurcir/obfusquer les adresses mail affichées par les pages web. Une adresse mail obscurcie a moins de chance d'être récupérée par un robot de recherche d'adresses mail alimentant les listes des spammeurs. Voici un exemple d'utilisation de l'opérateur wash avec une adresse mail:

{def $email_address='allman@example.com'}
{$email_address|wash( 'email' )}

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

allman[at]example[dot]com

String concatenation / Concaténation de chaînes de caractères

The "concat" operator makes it possible to glue several strings together in order to produce a single string. The following example demonstrates how this operator works.
L'opérateur concat permet d'assembler plusieurs chaînes de caractères afin de n'en produire qu'une seule. L'exemple suivant illustre l'utilisation de cet opérateur:

{def $my_string='sausage'}
{concat( 'Liver ', $my_string, ' sandwich' )}

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

Liver sausage sandwich

Custom view parameters / Paramètres de vue personnalisés

The URL of a node view request may contain custom parameters. The custom view parameters must be specified at the very end of the URL using a special notation. For each parameter, a name and a value must be specified. The name must be encapsulated by parenthesis. Each element must be separated by slashes. The following example demonstrates how custom parameters can be used (in addition to the view parameters) in a system URL that requests a node.
L'URI d'une requête d'affichage d'un nœud peut contenir des paramètres personnalisés. Placés tout à la fin de l'URI, les paramètres de vue personnalisés respectent une syntaxe particulière. Pour chaque paramètre, un nom, placé entre parenthèses, et une valeur sont spécifiés. Chaque élément est séparé du prochain par un slash ( "/" ). L'exemple suivant illustre l'utilisation des paramètres personnalisés (en plus des paramètres de vue ) dans une URL permettant d'accéder à un nœud:

http://www.example.com/content/view/full/13/(color)/green/(amount)/34

The same parameters can be appende to the virtual URL of the node:
Les mêmes paramètres peuvent être ajoutés à l'URI virtuelle d'un nœud:

http://www.example.com/company/about_us/(color)/green/(amount)/34

When custom view parameters are used, the system will create an associative array using the name of the provided parameters as the keys. All parameter values will be treated as strings. The array will be represented by the $view_parameters variable in the template. The parameters given in the examples above will produce an associative array with the following contents:
Lorsque des paramètres de vue personnalisés sont utilisés, le système crée un tableau associatif dont les clefs sont les noms des paramètres fournis. Toutes les valeurs des paramètres seront traitées en tant que chaînes de caractères. Le tableau sera représenté, dans le template, par la variable $view_parameters. Les paramètres donnés en exemples ci-dessus produiraient un tableau associatif dont le contenu serait le suivant:

key
Clef
Type Value
Valeur
color string
chaîne de caractères
green
amount string
chaîne de caractères
34

The following example demonstrates how the custom view parameters can be accessed in the template that is used to display the node.
Voici un exemple illustrant l'accès, dans un template d'affichage d'un nœud, aux paramètres de vue personnalisés:

The color is: {$view_parameters.color}<br />
The amount is: {$view_parameters.amount}<br />

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

The color is: green
The amount is: 34

Custom view parameters in "edit.tpl" templates / Paramètres de vue personnalisés dans les templates edit.tpl

In eZ Publish versions prior to 3.9, you cannot pass custom view parameters to the "edit" view of the "content" module. From 3.9, it is possible and thus you can use custom view parameters in the "edit.tpl" templates. The following example demonstrates a typical system URL in this case:
Dans les versions de eZ Publish antérieures à la version 3.9, vous ne pouviez pas passer des paramètres de vue personnalisés à la vue edit du module content. Il est à présent possible d'utiliser ces paramètres dans les templates edit.tpl. L'exemple suivant illustre l'utilisation d'un URI système dans un tel cas:

http://www.example.com/content/edit/13/03/eng-GB/(color)/green/(amount)/34

This will instruct eZ Publish to use custom view parameters, specified in the link above, when editing the "eng-GB" translation of the third version of the thirteenth content object in the system.
Cet URI indique à eZ Publish d'utiliser les paramètres de vue personnalisés passés dans le lien lors de l'édition de la troisième version de la traduction anglaise du 13ème objet du système.

Commentaires