Les fonctions template.php ne sont pas visibles dans page.tpl.php

Catégories:

Bonjour,

J’ai un petit problème concernant le fichier template.php
J’ai mis une fonction simple qui est censée m’afficher la variable dans la page page.tpl.php
Le problème, c’est qu’il ne m’affiche rien du tout. Comme si tout ce qui est envoyé depuis template n’a aucune influence sur page.tpl.php

Mon fichier est-il conrompu u ai-je loupé une déclaration ?

D’avance merci pour votre aide

#

Ton code peut-être ? ;-)

Yoran - arNuméral

#

Bonjour,

As-tu trouvé la solution ?

Pour ma part, je déclare une variable dans template.php et rien ne s’affiche dans le node.tpl.php

Le fonction dans template.php :

<?php
function phptemplate_preprocess_node (&$variables) {
   
$termes = taxonomy_node_get_terms($node);
    foreach (
$termes as $terme) {
       
$variables['mon_terme'] = $terme->name;
        break;
    }
}
?>

Dans le fichier node.tpl.php :

<?php
print $mon_terme;
?>

Par contre, si j’écris le même code directement dans le fichier node.tpl.php, alors ça fonctionne… Ai-je loupé quelque chose ?

EDITION

Serait-ce le nom même de la fonction qui serait erroné ? Dois-je remplacer «phptemplate» par autre chose ?

#

Bonjour,
Preprocess_node() n’a pas accès à $node mais à $variables[‘node’] donc à la ligne

$termes = taxonomy_node_get_terms($node);

vous pouvez la remplacer par

$termes = taxonomy_node_get_terms($variables['node']);

Le nom de la fonction est bonne mais il est préférable comme convention de donnée le nom du template tel que monTheme_preprocess_node()

#

Caramba ! Ca marche !

Merci ;-)

Syndiquer le contenu