Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

Drupal 7, suggestions de modèles de mise en page

Traduction de la page http://drupal.org/node/1089656
publiée / actualisée le 6 Avril 2011 sur drupal.org


Template suggestions:

Qu'est-ce qu'un template suggestion? C'est un modèle de mise en page (fichiers .tpl.php) alternatif que vous créez pour remplacer le fichier de mise en page d'origine. Les suggestions ne fonctionnent que si elles sont placées dans le même dossier que les fichiers de mise en page de base.

D'autres suggestions personnalisées que celles énumérées ci-dessous peuvent être créées. Consultez la page Travailler avec des templates suggestions.

block--[region|[module|--delta]].tpl.php
base template: block.tpl.php

Suggestions à partir de ce fichier, dans l'ordre. Drupal utilisera le plus spécifique qu'il trouvera :

  1. block--module--delta.tpl.php
  2. block--module.tpl.php
  3. block--region.tpl.php

module étant le nom du module et delta, l'id interne attribué au bloc par le module. Par exemple, block-user-1.tpl.php sera utilisé pour le bloc de navigation utilisateur par défaut puisqu'il a été créé par le module User avec l'identifiant 1. region prendra effet pour des régions spécifiques. Un exemple de région spécifique serait block--sidebar_first.tpl.php. Si un module crée un bloc custom et un delta my-block, la template suggestion s'appellera block--custom--my-block.tpl.php.

comment--[type].tpl.php
base template: comment.tpl.php

Les fichiers comment-type.tpl.php sont pris en charge, pour la mise en forme des commentaires d'un type de node donné, différement des autres commentaires du site. Par exemple, un commentaire fait sur un type article aura comment--node-article.tpl.php.

comment-wrapper--[node-type].tpl.php
base template: comment-wrapper.tpl.php

Similaire à ce qui précède mais pour le wrapper template.

forums--[[container|topic]--forumID].tpl.php
base template: forums.tpl.php

Les template suggestions ajoutées sont basées sur ce modèle, listé du modèle le plus spécifique à celui qui l'est le moins. Drupal utilisera le modèle le plus spécifique qu'il trouvera.

Pour les conteneurs de forum :

  1. forums--containers--forumID.tpl.php
  2. forums--forumID.tpl.php
  3. forums--containers.tpl.php

Pour les sujets de forum :

  1. forums--topics--forumID.tpl.php
  2. forums--forumID.tpl.php
  3. forums--topics.tpl.php
maintenance-page--[offline].tpl.php
base template: maintenance-page.tpl.php

Utilisé lors de défaillances de la base de données. Permet l'affichage d'une page sans messages d'erreur. Personnaliser la page de maintenance de Drupal doit d'abord être correctement paramétré.

node--[type|nodeid].tpl.php
base template: node.tpl.php

Les template suggestions ajoutées sont basées sur ce modèle, listé du modèle le plus spécifique au plus général. Drupal utilisera le modèle le plus spécifique qu'il trouvera.

  1. node--nodeid.tpl.php
  2. node--type.tpl.php
  3. node.tpl.php

Consultez node.tpl.php dans la doc de l'API Drupal API pour plus d'informations.

page--[front|internal/path].tpl.php
base template: page.tpl.php

Les suggestions sont nombreuses. Celle qui a la priorité est celle de la page d'accueil. Les autres sont basées sur le chemin interne de la page en cours. Ne confondez pas le chemin interne et l'alias de chemin qui ne sont pas pris en compte. N'oubliez pas qie le module Pathauto fonctionne avec des alias de chemin.

La page d'accueil peut être paramétrée dans "Administration > Configuration > System > Site information." Dans Drupal 6, at "Administration > Configuration du site > Information." Ce qui sera indiqué là déclenchera la suggestion page-front.tpl.php.

La liste des fichiers suggested est basée, par ordre de spécifité, sur les chemins internes. Une suggestion est faite pour chaque élément du chemin en cours, bien que les éléments numériques ne soient pas amenés aux suggestions suivantes. Par exemple, http://www.example.com/node/1/edit donnera les suggestions suivantes:

  1. page--node--edit.tpl.php
  2. page--node--1.tpl.php
  3. page--node.tpl.php
  4. page.tpl.php

Pour d'autres infos, voir également page.tpl.php dans la doc Drupal de l'API.

Une autre explication basée sur la fonction theme_get_suggestions().

Via la fonction theme_get_suggestions() Drupal liste les modèles de mise en page possibles, cette fonction est appelée par la fonction template_preprocess_page().

Les composants d'un path Drupal (ici la traduction en français sur KolossalDrupal) sont d'abord éclatés. Comme indiqué précédemment, le path Drupal n'est pas un de ses alias : il n'y a qu'un seul path Drupal pour une page. Par exemple, pour http://www.example.com/node/1/edit et pour http://www.example.com/mysitename?q=node/1/edit", le path Drupal est node/1/edit et ses composants sont node,1 et edit.

Ensuite, le préfixe est paramétré à page. Puis, pour chaque composant, la logique suivante est appliquée :

  1. Si le composant est un nombre, ajout du préfixe puis ajout de __% à la liste des suggestions.
  2. Que le composant soit un nombre ou pas, ajout du préfixe puis ajout de __ puis ajout du composant à la liste des suggestions.
  3. Si le composant n'est pas un nombre, ajout de __ et ajout du composant au préfixe.

Une fois la liste des composants parcourue, si la page est la page d'accueil (front page, celle indiquée dans Administration > Configuration > System > Site information), page__front est alors ajouté à la liste des suggestions.

FInalement, pour convertir une suggestion en nom de fichier réel, __ sera converti en -- et .tpl.php sera ajouté à la suggestion.

Pour node/1/edit, nous aurons la liste de suggestions suivantes

  1. page.tpl.php (ça, c'est toujours une suggestion)
  2. page--node.tpl.php (et le préfixe est mis à page__node
  3. page--node--%.tpl.php
  4. page--node--1.tpl.php (le préfixe est inchangé car le composant est un nombre)
  5. page--node--edit.tpl.php (et le préfixe est mis à page__node__edit)
  6. page--front.tpl.php (seulement si node/1/edit est la page d'accueil)

Lorsque la page est mise en forme, la dernière suggestion est vérifiée. Si elle existe, elle sera utilisée. Sinon, la suggestion précédente sera vérifiée, et ainsi de suite. Bien sûr, si aucune suggestion n'existe, page.tpl.php sera la dernière suggestion. Ceci explique également pourquoi si page--front.tpl.php existe, elle supplantera toute autre suggestion pour la page d'accueil : elle est toujours la dernière suggestion pour la page désignée comme page d'accueil.

poll-results--[block].tpl.php
base template: poll-results.tpl.php

La fonction de thème qui génère les résultats de sondage est utilisée par les nodes et les blocs. La valeur par défaut est utilisée pour les nodes, mais une suggestion est faite pour leur mise en page dans les regions de blocs. Cette suggestion est utilisée par défaut et le fichier de mise en page est situé dans modules/poll/poll-results--block.tpl.php.

poll-vote-[block].tpl.php
base template: poll-vote.tpl.php

Semblable à poll-results--[block].tpl.php mais pour la création du formulaire de vote. Vous devez fournir votre propre modèle de mise en page pour qu'il soit pris en compte.

poll-bar--[block].tpl.php
base template: poll-bar.tpl.php

Comme pour poll-vote--[block].tpl.php mais pour la création des barres individuelles.

profile-wrapper--[field].tpl.php
base template: profile-wrapper.tpl.php

Le modèle profile wrapper est utilisé lorsqu'on parcourt la page listing des membres. Lorsqu'on parcourt des champs spécifiques, une suggestion est faite avec le nom du champ. Par exemple, http://drupal.org/profile/country/Belgium proposera profile-wrapper--country.tpl.php.

search-results--[searchType].tpl.php
base template: search-results.tpl.php

search-results.tpl.php est l'enveloppe par défaut pour les résultats des recherches. Différentes suggestions sont faites selon le type de recherche. Par exemple example.com/search/node/Search+Term donnera search-results--node.tpl.php. Comparez avec example.com/search/user/bob qui donnera search-results--user.tpl.php. Les modules peuvent étendre les types de recherches en ajoutant plus de suggestions de leurs types.

search-result--[searchType].tpl.php
base template: search-result.tpl.php

Comme ci-dessus, mais pour les résultats de recherche individuels.