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

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

Table des matières

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

URL handling -- Gestion des URL

Date de publication: le mardi 29 mars 2011 à 22h01
Dernière modification: par Pascal BOYER le vendredi 1 avril 2011 à 14h22

28/09/2010 01:51

versions 3.9, 3.10, 4.x

Whenever a link, a non-content specific image, a stylesheet, etc. is to be included, a suitable template operator must be used in order to ensure that the path to the included file is correct. At any time, one of the following operators should be used:
Chaque fois qu'un lien, qu'une image, qu'une feuille de styles, etc... doit être inclus, un opérateur de template adapté est employé afin de s'assurer que le chemin vers le fichier inclus est correct. A tout moment, l'un des opérateurs suivants peut être utilisé:

ezurl

The "ezurl" operator makes sure that a URL works regardless of the location of the eZ Publish folder, the access method and the environment that eZ Publish is running in (non virtual host, virtual host, etc.). It is only the eZ Publish specific part of the URL that needs to be provided. The rest (http://, host, domain, directory, siteaccess, port, etc.) will be generated by the operator. The final output will be a valid address. This approach makes it possible to use generic URLs in template without the risk of having to modify every address when the site is moved and/or when the access method is changed. By default, the "ezurl" operator outputs an address that is already encapsulated by two double quotes. In other words, the output can be fed directly to an hyperlink reference in the HTML code. The following examples demonstrate the usage of this operator.
L'opérateur ezurl s'assure que l'URL fonctionne bien et cela indépendamment de l'emplacement du répertoire d'installation de eZ Publish, de la méthode d'accès ou de l'environnement dans lequel tourne eZ Publish (environnement non virtuel, ou hôte virtuel , etc...). Seule la partie de l'URI spécifique à eZ Publish doit être fournie. Le reste (http://, l'hôte, le domaine, les répertoires, les siteaccess, les ports, etc...) seront générés par l'opérateur et le résultat final sera donc une adresse valide. Cette approche permet d'utiliser dans les templates des URI génériques sans courir le risque de devoir modifier toutes les adresses lorsque l'on migre le site ou modifie la méthode d'accès. Par défaut, l'opérateur ezurl fournit en sortie une adresse toujours placée entre doubles cotes ( " et " ) ce qui permet de l'utiliser directement dans du code HTML en tant qu'hyper lien. Voici quelques exemples d'utilisation de cet opérateur:

Link to a module/view (using a system URL) / Lien vers un couple module/ vue (en utilisant un U RI système)

<a href={'/user/login'|ezurl()}>Login</a>

The example above demonstrates how to create a link to the login view of the user module. The "/user/login" is just an example, another example would be a link to a node: "/content/view/full/34". If eZ Publish is running in a directory called "ezpublish" on www.example.com using the URL access method and the name of the siteaccess is "my_company", the operator will produce the following output:
L'exemple ci-dessus montre comment créer un lien vers la vue login du module user. La partie "/user/login" n'est qu'un exemple. Un autre exemple aurait pu être un lien vers un nœud: "/content/view/full/34". Supposons qu'eZ Publish soit installé dans le répertoire ezpublish/ du site www.exemple.com utilisant la méthode d'accès par URL et que le nom du siteaccess soit my_company. L'opérateur produira alors la sortie suivante:

"http://www.exemple.com/ezpublish/index.php/my_company/user/login"

If eZ Publish is running in a virtual host mode and uses the host access method, the following URL will be produced:
Si eZ Publish tourne en mode hôte virtuel et utilise la méthode d'accès par hôte , l'URL suivante sera alors produite:

"http://www.exemple.com/user/login"

Link to a node (using the node's virtual URL) / Lien vers un nœud (en utilisant les URI vituels de nœud)

When a link to a node (using the node's virtual URL, also known as URL alias) is created, the address must be piped through the "ezurl" operator. The reason for this is that the internal URL table only contains the eZ Publish specific part of the URLs. The following example demonstrates how to use the "ezurl" operator to create a valid virtual URL for a node.
Lorsqu'un lien vers un nœud (en utilisant les URI virtuels de nœud, aussi connues en tant qu'alias d'URI) est créé, l'adresse doit être redirigée vers l'opérateur ezurl . La raison de ceci est que la table interne d'URI ne contient que la partie spécifique à eZ Publish de l'URI. L'exemple suivant illustre la façon dont l'opérateur ezurl crée un URI valide pour un nœud:

<a href={$node.url_alias|ezurl()}>Link to a node</a>

If the URL alias of the node is "company/about_us" and eZ Publish is running in a virtual host environment using the host access method, the following URL will be produced:
Si l'alias d'URI du nœud est company/about_us et qu'eZ Publish tourne en mode hôte virtuel tout en utilisant la méthode d'accès par hôte, alors l'URI suivant sera produit:

"http://www.exemple.com/company/about_us" 

For information about how eZ Publish treats URLs, please refer to the "URL translation" section of the "Concepts and basics" chapter.
Pour plus d'information sur la manière dont eZ Publish traite les URI, référez-vous au chapitre traduction d'URL de la section Concepts et bases .

ezimage

The "ezimage" operator works in the same way as the "ezurl" operator (described above), except that it does not include the "index.php" part. This operator must be used every time a non content specific image is included in a template. The image must be placed in the "images" directory of one of the designs that are used by the siteaccess. The operator produces a valid link to the image regardless of the directory, access method and/or the environment that eZ Publish is running in. The following example demonstrates how the "ezimage" operator should be used.
L'opérateur ezimage fonctionne de manière similaire à l'opérateur ezurl décrit ci-dessus, excepté qu'il n'inclut pas la partie index.php. Cet opérateur doit être utilisé chaque fois qu'une image est incluse dans un template. L'image doit être placée dans le sous-répertoire images/ de l'un des design utilisés par le siteaccess. L'opérateur produit un lien valide vers l'image indépendamment du répertoire, de la méthode d'accès et/ou de l'environnement dans lequel tourne eZ Publish. Voici un exemple d'utilisation de l'opérateur ezimage:

<img src={'women.jpg'|ezimage()} alt="This is my image." ... />

If eZ Publish is using the host access method and the siteaccess is using a design called "my_design", the operator will produce the following output:
Si eZ Publish utilise la méthode d'accès par hôte et que le siteaccess utilise un design nommé my_design, alors l'opérateur produit la sortie suivante:

"http://www.exemple.com/design/my_design/images/women.jpg"

If the image is placed inside a sub-directory within the "images" directory, the name of the subdirectory must be specified in the template. 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 l'image est placée dans un sous-répertoire du répertoire images/, alors le nom de ce sous-répertoire doit être spécifié dans le template. Si le fichier demandé n'est pas trouvé dans le design principal du siteaccess, le système le recherchera dans les design additionnels puis, enfin, dans le design standard. Référez-vous à la documentation du système de repli automatique pour de plus amples informations sur cette fonctionnalité.

ezdesign

The "ezdesign" operator works in the same way as the "ezurl" operator (described above), except that it does not include the "index.php" part. This operator must be used every time a design element (style sheets, Javascript, etc.) is included in a template. The operator takes care of producing a valid link for the given design component by providing the root to the design directory which contains the target file. The following example demonstrates the proper way of including a CSS file using this operator.
L'opérateur ezdesign fonctionne de façon similaire à l'opérateur ezurl décrit ci-dessus, excepté qu'il n'inclut pas la partie index.php. Cet opérateur doit être utilisé chaque fois qu'un élément du design du site (feuilles de styles, Javascripts, etc...) est inclus dans un template. L'opérateur s'assure de produire un lien valide vers l'élément en fournissant la racine du répertoire du design contenant l'objet cible (l'élément lui-même). Voici un exemple d'utilisation de cet opérateur pour inclure correctement un fichier CSS:

... 
<style type="text/css"> 
   @import url({'stylesheets/my_stuff.css'|ezdesign()}); 
</style> 
 ...

If eZ Publish is using the host access method and the siteaccess is using a design called "my_design", the operator will produce the following output:
Si eZ Publish utilise la méthode d'accès par hôte et que le siteaccess utilise un design nommé my_design, alors l'opérateur produit la sortie suivante:

"http://www.exemple.com/design/my_design/stylesheets/my_stuff.css"

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, le système le recherche dans les design additionnels et enfin, dans le design standard. Référez-vous à la documentation du système de repli automatique pour de plus amples informations sur cette fonctionnalité.



Table des matières

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

Commentaires