template.php est un fichier PHP spécial qui permet d'apporter des personnalisations avancées au thème (design) d'un site Drupal en redéfinissant des fonctions. Ce fichier n'existe pas par défaut, il faut le créer si besoin.
A noter que ce fichier doit commencer par un tag php ouvrant < ?php mais il n’est pas nécessaire d’y inclure le tag fermant. En réalité, il est même recommander de ne pas le mettre.
Surcharger des fonctions

Premièrement, il est nécessaire de localiser une fonction que l’on puisse surcharger. Pour cela, il est nécessaire de se référer à la liste sur http://api.drupal.org/?q=api/group/themeable/5
Exemple avec la fonction theme_item_list(), qui ressemble a ceci :
Pour la passer dans le template.php, il faut remplacer le mot « theme » dans le nom de la fonction par “phptemplate” et il faut avoir recourt a un appelle à _phptemplate_callback() afin de passer les paramètres ($items et $title) vers PHPTemplate.
/**
* Catch the theme_item_list function, and redirect through the template api
*/
function phptemplate_item_list($items = array(), $title = NULL) {
// Pass to phptemplate, including translating the parameters to an associative array.
// The element names are the names that the variables
// will be assigned within your template.
return _phptemplate_callback('item_list', array('items' => $items, 'title' => $title));
}
?>
Il est maintenant possible de créer un fichier item_list.tpl.php dans le répertoire des thèmes, qui sera utilise pour la mise en forme des listes d’items.
Et ainsi de suite...
Poster un nouveau commentaire