Après avoir fait un petit tour rapide des variables de base qui sont disponible dans les différents fichier "tpl" de drupal, il serait maintenant intérressant de savoir comment on fait pour rajouter nos propres variables.
Pour cela, on va utiliser la variable $hook.
Celle-ci fait référence à la région (fichier) dans laquelle elle devra être utilisé. (par exemple, ce sera « comment » pour le fichier comment.tpl.php)
Cette fonction doit être définie dans le fichier template.php, qui sera donc placé dans le répertoire du thème (par exemple themes/mon_theme/template.php)
function _phptemplate_variables($hook, $vars) {
switch($hook) {
case 'comment' :
$vars['newvar'] = 'new variable';
$vars['title'] = 'new title';
break;
}
return $vars;
}
?>
La sortie de la fonction ci-dessus est fusionnée avec les variables retournés de phptemplate_comment, il est donc facile de faire les ajustements que l’on souhaite sur les variables de notre choix.
Le fichier comment.tpl.php a donc maintenant une nouvelle variable disponible, appelé $newvar. De plus, dans notre code ci-dessus, la variable $title est également re-définie.
Une astuce consiste à compter le nombre de fois où le “hook” est appelé, de cette manière, il devient possible de passer une variable supplémentaire : $zebra
Cette astuce retourne « even » (pair) si l’on se trouve sur un « hook » pair ou « odd » (impair) sur un « hook » impair.
A partir de cela, il devient possible de réaliser une alternance de couleur pour la liste qui sera retourné. ( “class=’$zebra’” par exemple)
Poster un nouveau commentaire