Override de page.tpl.php en fonction du type de noeud (convertir code D5 pour D6)

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.

Je suis en train de chercher un moyen de faire un override de page.tpl.php pour un type de noeud. En effet je veux afficher la valeur d'un champs CCK à côté du title...

J'ai trouvé ici un code destiné à Drupal 5 utilisant _phptemplate_variables qui est dépréciée dans D6 :

<?php
// Add additional template suggestions
function _phptemplate_variables($hook, $vars) {
  switch (
$hook) {
    case
'page'
     
// Add page template suggestions based on node type, if we aren't
editing the node.
      if (
$vars['node'] && arg(2) != 'edit') {
       
$vars['template_files'][] = 'page-'. $vars['node']->type;
      }
      break;
  }
  return
$vars;
}
?>
 

Question : est-ce que quelqu'un a déjà fait ce genre de chose pour D6 et si non comment ré-écrire ce bout de code pour D6 ?

Merci !

Version de Drupal : 

C'est très similaire... le code suivant devrait fonctionner :

<?php
function <theme>_preprocess_page(&$variables) {
  if (
$variables['node'] && arg(2) != 'edit') {
   
$variables['template_files'][] = 'page-'. $variables['node']->type;
  }
}
?>

Merci Damien !

Entre temps je me suis acharné à chercher et bien enfoui dans les résultat Google j'ai trouvé un autre bout de code :

function phptemplate_preprocess_page(&$variables) {
// IF THIS IS NOT WORKING BE SURE TO CLEAR THE THEME REGISTRY.
// FAILURE TO DO SO WILL NOT ALLOW THIS FUNCTION TO BE CALLED.
if($node = menu_get_object()) {
$variables['node'] = $node;
$suggestions = array();
$template_filename = 'page';
$template_filename = $template_filename . '-' . $variables['node']->type;
$suggestions[] = $template_filename;
$variables['template_files'] = $suggestions;
}
}

Le code vient d'ici : http://drupal.org/node/249726

Je vais essayer les deux, mais le tien est plus économe :)