Bonjour a tous,
But sur la partie liste des forums :
Lors d'un nouveau Topic dans un forum $forum->new_topics devient TRUE
Utilisable sur la page forum-list-tpl.php (Liste des forums)
Par contre a chaque nouveau commentaire ont ne voit rien sur la liste des forums.
Comment faire pour activer une nouvelle variable pour les nouveaux commentaires ?
Pour voir si il existe des commentaires, ont est obligé de rentrer dans tous les forums...
Les nouveaux commentaires $topic->new_replies sont visibles sur la page forum-topic-list.tpl.php (Liste des Topics dans un forum)
Dans mes recherches :
// --- /// Liste des forums
Dans function template_preprocess_forum_list : variable pour la liste des forums (forum-list.tpl.php)
Ont peut voir le déclenchement de la variable Nouveau topic
Lgn 20-21
Avec la function _forum_topics_unread, je ne sais pas si possible de la dupliquer/modifier pour faire le déclenchement sur les commentaires non lu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $variables['forums'][$id]->new_topics = _forum_topics_unread($forum->tid, $user->uid); if ($variables['forums'][$id]->new_topics) {
// --- /// Liste des Topics/Sujets
Dans function template_preprocess_forum_topic_list : variable pour la liste des topics (forum-topic-list.tpl.php)
Déclenchement de la variable "Nouveau commentaire" ($topic->new_replies) disponible que sur cette page forum-topic-list.tpl.php et non sur forum-list.tpl.php
Lgn 38
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if ($topic->new_replies) { $variables['topics'][$id]->new_text = format_plural($topic->new_replies, '1 new', '@count new'); $variables['topics'][$id]->new_url = url("node/$topic->nid", array('query' => comment_new_page_count($topic->comment_count, $topic->new_replies, $topic), 'fragment' => 'new')); }
// --- /// Function
function forum_get_topics
Lgn 68-87
Basculement de la variable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 if ($user->uid) { // A forum is new if the topic is new, or if there are new comments since // the user's last visit. if ($topic->forum_tid != $tid) { $topic->new = 0; } else { $history = _forum_user_last_visit($topic->nid); $topic->new_replies = comment_num_new($topic->nid, $history); $topic->new = $topic->new_replies || ($topic->last_comment_timestamp > $history); } } else { // Do not track "new replies" status for topics if the user is anonymous. $topic->new_replies = 0; $topic->new = 0; }
Par la suite j'aimerai même faire apparaitre une petite infobulle au niveau du menu "Forum" pour indiquer
- un/des nouveau sujet
- un/des nouveau commentaire
Variable globale ?
J'ai essayé de mettre le maximum d'info pour mieux cerner le problème.
Merci d'avance
Cordialement
Kit
Partager