Templates drupal 7

Source: Drupal 7 guide 2011

Le template le plus utilisé: page.tpl.php alors que modules/system/html.tpl.php est utilisé par tous les thèmes du systeme, car il produit les tags: doctype, html, head et body.
Sur le web: http://kolossaldrupal.org/docs/sous-themes-leur-structure-et-lheritage
                   en anglais (officiel) Liste des templates du core  et liste des suggestions de templates

Ex pour Bartik:

Templates et css de Bartik

comment-wrapper.tpl.php  container (posts forum inclus)
comment.tpl.php              format des commentaires
maintenance-page.tpl.php vue losque site hors-ligne
node.tpl.php                     gère affichage des noeuds
page.tpl.php                                                 pages

colors.css  lié au module color
ie-rtl.css     pour compa IE de droite à gauche
ie6.css       pour compa IE 6
layout-rtl.css  si de droite à gauche
layout.css
maintenance-page.css
print.css
style-rtl.css styles supplémentaires si text de drt à gch
style.css     styles supplémentaires

template.php

pour overrider des fonctions et css du core thémables.

Vers comment "identifier d'où vient cette mise en forme".

Fonctions de theme

Fonctions PHP, dont le nom commence par theme_ (ex theme_breadcrumb).

enlightened Pour identifier ce qui entre en jeu dans l'affichage d'un élement: module devel et Theme Developer (mais n'est pas très à jour). Autre solution: la famille de fonctions PHP print_r et print_d.

Fonctions preprocess puis process (ajoutées dans template.php) : fonction de création de variables de template.

Les preprocessors sont lancés dans cet ordre quand ils existent:

  1. template_preprocess            Vient du core, utilisées par les hook thémables
  2. template_preprocess_hook  Vient du fichier (core ou module) qui implémente le hook thémable. C'est ici qu'on initialise les variables du hook.
  3. moduleName_preprocess    Ne pas confoindre avec le précédent. Cette fonction-ci permet aux modules qui, à l'origine n'utilisent pas un hook pour modifier les variables. Pour tous les hooks.
  4. moduleName_preprocess_hook    Comme pour le précédent, mais pour un hook.
  5. engineName_engine_preprocess   Pour les thèmes
  6. engineName_engine_preprocess_hook
  7. engineName_preprocess              A éviter.
  8. engineName_preprocess_hook    A éviter.
  9. themeName_preprocess              Est nommé après le thème. Pour tous les hooks.
  10. themeName_preprocess_hook    Comme pour le précédent, mais pour un hook spécifié.

enlightened Voir en anglais plus d'infos sur le nom et l'ordre des preprocess.

Note: les fonctions doivent etre correctement nommées (préfixées par nom du theme).

Source: Drupal 7 guide 2011

coté override css

Image (file bookimg): 

templates.png

Drupal 7 - les templates principaux
Drupal 7 - les templates principaux

themed-content.png

Thémer les contenus
Thémer les contenus