Fusionner plusieurs fonctions _phptemplate_variables
Date du document en anglais : 11 Mars 2009 - 06:36 - http://drupal.org/node/152426 Drupal 5.x
Plusieurs bouts de code de thèmes PHPTemplate, et quelques modules contributifs , auront besoin que vous ajoutiez des fonctions _phptemplate_variables à vos fichiers template.php. Malheureusement, si vous voulez utiliser plus d'un module ou plus d'un de ces bouts de code, ou si votre thème possède déjà une fonction _phptemplate_variables, vous ne pourrez pas en ajouter de nouvelles, vous devrez fusionner les deux fonctions. Si vous ne connaissez pas suffisamment le PHP, cela vous semblera une tâche redoutable.
Voici une technique simple pour fusionner plusieurs de ces fonctions en une seule. Vous n'avez pas besoin de connaître le PHP, contentez-vous de copier et de coller, et changez aussi quelques noms comme indiqué ci-après.
- Placez toutes les fonctions _phptemplate_variables dans votre fichier template.php, et modifiez tous leurs noms, de _phptemplate_variables à quelque chose d'autre. Par exemple _phptemplate_variables_taxonomy_snippets, _phptemplate_variables_page_title_module, etc. S'il y a déjà une fonction _phptemplate_variables dans le thème, changez-lui aussi son nom, par exemple _phptemplate_variables_garland_theme. Assurez-vous qu'il n'y ait pas deux fonctions avec le même nom.
- Créez une nouvelle fonction _phptemplate_variables. Elle sera la fonction maîtresse qui combinera toutes les variables des autres fonctions. Voici à quoi elel devrait ressembler :
- Copiez ce code dans votre fichier template.php et changez les nom des fonctions pour ceux que vous utilisez.
<?php
/**
* Appeler notre fonction_phptemplate_variables_*
personnalisée et fusionner le résultat dans un seul tableau.
*/
function _phptemplate_variables($hook, $vars) {
$funcs = array(
// Voici les noms de nos fonctions
personnalisées. Ajoutez-en d'autres si besoin.
'_phptemplate_variables_taxonomy_snippet',
'_phptemplate_variables_page_title_module',
'_phptemplate_variables_garland_theme,
);
foreach ($funcs as $func) {
$vars = array_merge($vars, $func($hook,
$vars));
}
return $vars;
}
?>
Ensuite, si vous voulez ajouter d'autres fonctions _phptemplate_variables vous pourrez le faire facilement en lui donnant un nouveau nom et en ajoutant son nom à la liste.
- Version imprimable
- 2558 lectures
-

Commentaires
Poster un nouveau commentaire