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

Template basics -- Bases sur les templates

Table des matières

  1. Template basics -- Bases sur les templates
  2. Node templates -- Templates de nœud
  3. System templates -- Les templates système

Node templates -- Templates de nœud

Date de publication: le lundi 28 mars 2011 à 20h56
Dernière modification: par Pascal BOYER le mercredi 30 mars 2011 à 20h51

28/09/2010 11:35

versions 3.9, 3.10, 4.x

Dans l'esprit de l'homme il y a toujours un combat entre des forces antagoniques, et quand l'une de ces forces semble l'emporter, l'autre se ramasse sur elle-même et tôt ou tard bondit avec plus de vigeur.

Jorge Luis Borges

Whenever eZ Publish is requested to output information about a node (either by a system URL or a virtual URL), it executes the view view of the content module. If a system URL is used, both the desired view mode and the target node must be specified in the URL. If a virtual URL is used, eZ Publish will automatically know which node that should be accessed by looking up the corresponding system URL in the internal URL table. When a virtual URL is used, the system will always use the full view mode. 
Chaque fois qu’il est demandé à eZ Publish de fournir une information sur un nœud, (par l’intermédiaire d’un URI système ou d’un URI virtuel), eZ Publish exécute la vue view du module content  (contenu). Dans le cas d’un URI système, le mode de vue désiré et le nœud cible doivent être spécifiés dans l’URI. Dans le cas d’un URI virtuel, eZ Publish sait automatiquement quel nœud afficher en regardant, dans une table interne d’URI, l’URI système correspondant. Par ailleurs, dans le cas d’un URI virtuel, le système utilise toujours le mode de vue full (par opposition au mode line).

The templates for the different view modes must be placed inside the "/templates/node/view/" directory of a design. 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. The "/templates/node/view" directory of the standard design contains templates for different view modes. A basic custom design typically contains a page layout and a full view template. The following illustration shows the locations of these templates in a custom design called "example". 
Les templates utilisés pour les différents modes de vue doivent être placés dans le répertoire design/xxxx/templates/node/view/. Si le template demandé n’est pas trouvé dans le répertoire du design principal lié au siteaccess utilisé, alors le système le recherche dans les répertoires des designs additionnels puis dans le design standard (c'est à dire dans le répertoire design/standard). Reportez-vous à la documentation sur le système système de repli automatique  pour de plus amples informations sur cette fonctionnalité. Le répertoire design/standard/templates/node/view/ du design standard contient les templates de différents modes de vue. Un design personnalisé de base contient typiquement une mise en page et un template de mode de vue full. L’illustration suivante présente l’emplacement de ces templates dans le cas d’un design personnalisé nommé example:

 

 

Location of pagelayout and full view template in example design.
Emplacement du template pagelayout.tpl et du template de vue full.tpl pour le design "exemple"

When a node is requested (and there are no template override rules for node templates), eZ Publish will generate a page that is built up of the following templates:
Lorsque l’affichage d’un nœud est demandé (et qu’il n’y a pas de règle de surcharge pour ce template de nœud), eZ Publish génère une page HTML construite à partir des templates suivants:

Pagelayout + node view full template.
Le template pagelayout.tpl + le template de vue de noeud full.tpl

Custom node templates / Template de nœud personnalisé

A typical eZ Publish site always makes use of custom node templates. The main reason for this is because there is almost always a need for displaying the various types of nodes in different ways. For example, information pages need to look different than news articles; the welcome page has to be formatted in a special way, and so on. Unlike custom system templates (which are mostly just modified copies of the standard templates placed in a custom design), custom node templates are created as override templates. The override templates are triggered by the template override system. This system offers a flexible mechanism that can be programmed to use different templates based on various conditions. For example, it can be programmed to use a template called "article.tpl" when the system is requested to show the contents of nodes referencing article objects and at the same time show "special_article.tpl" when a specific article is accessed. Note that override templates (in this case "article.tpl" and "special_article.tpl") must be placed in the "override/templates" directory of the main design used by the siteaccess. Please refer to the documentation of the template override system for more information about how this mechanism actually works and how it can be used to trigger override templates.
Typiquement, un site eZ Publish fait toujours usage de templates personnalisés. La raison principale de cet usage est qu’il y a au moins toujours besoin d’afficher différents types de nœuds de différentes manières. Des pages d’information, par exemple, seront présentées différemment des articles de news. La page d’accueil doit avoir sa propre mise en page, etc... A l’inverse des templates système personnalisés (qui sont le plus souvent de simples copies modifiées des templates standards et placés dans un design personnalisé), les templates de nœud personnalisés sont créés pour faire office de templates de surcharge et leur utilisation est déclenchée par le système de surcharge de templates. Ce mécanisme flexible peut être programmé afin d’utiliser différents templates en fonction des nombreuses conditions rencontrées. Il peut être programmé par exemple pour qu’un template nommé article.tpl soit utilisé lorsque le système doit afficher le contenu de nœuds faisant référence à des objets article et, dans le même temps, pour qu'un template special_article.tpl soit utilisé lorsqu'un article spécial doit être affiché. Retenez que les templates de surcharge (dans ce cas article.tpl et special_article.tpl) doivent être placés dans le sous-répertoire /override/templates/ du design principal lié au siteaccess utilisé. Référez-vous à la documentation sur le système de surcharge de templates  pour de plus amples informations sur le fonctionnement de ce mécanisme et pour savoir comment l’utiliser pour déclencher des templates de surcharge.

The $node variable / La variable $node

Whenever the system makes use of a node template (regardless of the view mode, the target node and if the template is an override or not), a variable called $node will be available in the template that is used. This variable is automatically set by the system and it contains an ezcontentobjecttreenode object that represents the requested node. This variable allows the extraction and display of various information about the node and the object that it encapsulates. Note that override templates (in this case "article.tpl" and "special_article.tpl") must be placed in the "override/templates" directory of the main design used by the siteaccess. Please refer to Outputting node and object data  for information about how to display node/object data. 
Chaque fois que le système utilise un template de nœud (indifféremment du mode de vue, du nœud cible et du fait que le template soit, ou non, un template de surcharge), la variable $node devient disponible dans le template utilisé. Cette variable est automatiquement déterminée par le système et contient l’objet ezcontentobjecttreenode représentant le nœud demandé. Cette variable permet d’extraire et d’afficher de nombreuses informations sur le nœud et sur l’objet qu’il encapsule. Retenez que les templates de surcharge (dans le présent cas article.tpl et special_article.tpl) doivent être placés dans le répertoire override/templates/ du design principal lié au siteaccess utilisé. Référez-vous à la documentation Extraire les données sur les nœuds et les objets  pour savoir comment afficher de telles informations.



Table des matières

  1. Template basics -- Bases sur les templates
  2. Node templates -- Templates de nœud
  3. System templates -- Les templates système

Commentaires