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:
comment-wrapper.tpl.php container (posts forum inclus) |
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).
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:
- template_preprocess Vient du core, utilisées par les hook thémables
- 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.
- 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.
- moduleName_preprocess_hook Comme pour le précédent, mais pour un hook.
- engineName_engine_preprocess Pour les thèmes
- engineName_engine_preprocess_hook
- engineName_preprocess A éviter.
- engineName_preprocess_hook A éviter.
- themeName_preprocess Est nommé après le thème. Pour tous les hooks.
- themeName_preprocess_hook Comme pour le précédent, mais pour un hook spécifié.
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
templates.png

themed-content.png
