Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

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.

  1. 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.
  2. 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 :

  3. <?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éesAjoutez-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;
    }
    ?>

  4. Copiez ce code dans votre fichier template.php et changez les nom des fonctions pour ceux que vous utilisez.

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.