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

Catégories:

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 !

#

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 :)

Software is like sex, it’s better when it’s free (Linus Torvalds)

http://twitter.com/davidm_fr

#

To code marche parfaitement, celui que j’ai recopié ci-dessus depuis drupal.org par contre me donne une belle page blanche ( ?) Je précise que j’ai bien nettoyé le cache…

Software is like sex, it’s better when it’s free (Linus Torvalds)

http://twitter.com/davidm_fr

Syndiquer le contenu