D6 theme : page-node-blog.tpl.php ne fonctionne pas.

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'essaie en vain de formater une page de visualition pour un node en l'occurrence ici un type de contenu blog. J'applique un "page-blog.tpl.php" qui fonctionne bien en listing mais dès que je clique pour visualiser l'article, je rebascule sur le tpl par defaut*.

J'observe que le module thermer info ne me propose pas ce format mais uniquement comme candidat : page-node-12.tpl.php < page-node.tpl.php < page.tpl.php

Je ne vois pas l'interet de faire un tpl pour un node 12 et puis j'aurai plusieurs format "page-node.tpl.php" donc il faut que je varie.

question bonus, peux t'on mettre les fichiers tpl dans des dossiers pour que ce soit mieux rangé?

Ou est la subtilité?
Florent

ps: *je ne cherche pas a formater un node.tpl en listing mais une page.

Forum : 

Page qui n'aura plus le comportement standard d'un content type page donc...

Soit tu templates en testant sur un type ou alors tu test sur une taxonomie et fait appel à un template dédié à ce type d'affichage. Ya pas mal de solutions en fait... Dépend de tes goûts.

Sinon oui tu peux ranger dans des sous-dossiers, suffira d'écrire l'include en conséquence dans le page.tpl.php

Enfin la doc est ici au cas où

Merci David,

J'ai utilisé la méthode dans page.tpl.php pour afficher une page détaillée(qui semble un hack pour Drupal 4 & 5 qui je suppose n'avaient pas de detection automatique) mais bon cela fonctionne bien aussi pour Drupal 6 afin de ne pas switcher de modele lorsque qu'on consulte une page "détail ou Content".

J'ai donc rangé le fichier dans un dossier TPL mais c'est "node-blog.tpl" qui ne suit pas. Je me retrouve avec celui par défaut du systeme.

Je pourrai probablement faire pareil dans le node.tpl par defaut pour faire suivre mais l'idée de faire cela sur tous les fichiers TPL ne me parait pas tres fin. Y a t'il un autre moyen de definir le dossier ou se trouve les tpl.

if ($node->type == 'blog') {
include 'TPL/page-blog.tpl.php';

return; }

Florent

J'ai résolu le pb des dossiers a priori il faut que tous les tpl soient dans le meme dossier. Sinon cette fonction a coller dans template est interessante pour appeler page-node-blog.tpl.php mais invalide pour drupal 6, j'ai essayé en vain de renomner avec preprocess.

function _phptemplate_variables($hook, $vars) {
if ($hook == 'page' && !empty($vars['node']->type)) {
$vars['template_files'][] = 'page-node-'. $vars['node']->type;
}

return $vars;
}

Florent