Développeur Drupal – Blog d'un passionné, un peu touche à tout, dans le monde du web.
Pour cet exercice nous allons manipuler les fichiers template et preprocess de votre thème.
Lorsque l’auteur d’un contenu poste un commentaire il n’y a pas de différenciation entre lui et un posteur lambda, c’est pourquoi nous allons mettre en valeur ses commentaires.
Nous allons travailler avec les fichiers template.php, comment.tpl.php et style.css, alors assurez vous d’avoir tous ces documents dans votre répertoire de template.
Dans le fichier template.php nous allons ajouter une fonction de preprocess pour modifier les informations qui seront passées au template.
/**
* Implement of template_preprocess_comment
*/
// Remplacer MONTHEME par le nom de votre theme
function MONTHEME_preprocess_comment(&$variables) {
// On compare l'auteur du node avec l'auteur du commentaire
$variables['comment']->uid == $variables['node']->uid ? $classe = 'comment_author' : $classe = 'comment_anonym';
// On ajoute notre variable au tableau qui sera passé au template
$variables[comment_class] = $classe;
}
Maintenant rendez-vous dans le fichier comment.tpl.php pour insérer la valeur que nous venons de passer.
Maintenant nous allons créer notre règle css pour mettre en forme les commentaires de l’auteur.
.comment_author{
background : #afd0ed ;
}
.comment_anonym{
}
Notre code est propre, nous avons séparé les calculs d’informations de l’affichage.
Bienvenue sur mon blog. Sur cet espace j’essaie de partager au mieux ma passion pour le web et actuellement mon engouement pour Drupal. Vous trouverez ici mes découvertes, mes problématiques et les solutions rencontrées.
2 Responses to Mettre en forme les commentaires de l’auteur d’une node par rapport aux autres.
davidm
octobre 24th, 2009 at 12 h 26 min
Merci Julien pour ce tuto !
selinav
octobre 25th, 2009 at 19 h 57 min
Merci pour ce tuto, pourrais-tu faire un petit article pour décrire à quoi sert la fonction preprocess et ses utilisations possibles, SVP?
Bonne continuation