Mettre en forme les commentaires de l'auteur d'une node par rapport aux autres

Mettre en forme les commentaires de l'auteur d'une node par rapport aux autres

24 Oct 2009 |  Drupal

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.

<div class="comment <?php print $comment_class; ?>"></div>

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.

Julien Dubreuil

Vous avez une idée, un projet web à réaliser ?

Ensemble, mettons en oeuvre sa réussite. Je vous accompagne dans vos projets, depuis l'élaboration du cahier des charges jusqu'à la mise en production. Pour plus d'information n'hésitez pas à me contacter.

Contactez-moi