Bonjour,
Je suis en train de finaliser un hack sur Chronocomments 1.2 qui consiste à ajouter simplement un titre (title dans le code) au commentaire. Je pense que je suis pas très loin de la fin du hack, mais je bloque sur l'affichage. Si l'un de vous peut m'aider, ça serait sympa !
Tout d'abord voilà le code (je vous l'ai mis en gras ce que j'ai ajouté) :
1. Fonction LoadComment
2. Affichage du titre du commentaire
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 function LoadComment($commentid, $comment_item){ global $mainframe; $database =& JFactory::getDBO(); $configs = JComponentHelper::getParams('com_chronocomments'); //load current comment data $query = "SELECT * FROM #__chrono_comments WHERE id = '".$commentid."'"; $database->setQuery( $query ); $commentx = $database->loadObject(); //define comment elements //$comment_elements = array('id', 'name', 'email', 'url', 'text', 'datetime', 'rating', 'title'); .../... //render the comment template $comment_elements = array( 'id' => $commentx->id, 'name' => censor($commentx->name), 'email' => $commentx->email, 'url' => $commentx->url, 'text' => censor(bb2html($commentx->text)), 'datetime' => '<a href="#commentID'.$commentx->id.'">'.JHTML::_('date', $commentx->datetime, JText::_( 'DATETIMEFORMAT' )).'</a>', 'rating' => $commentx->rating, 'parentid' => $commentx->parentid, 'avatar' => $avatar ? $avatar : JURI::Base().'components/com_chronocomments/images/avatar1.png', 'userid' => $commentx->userid, 'title' => $commentx->title ); foreach($comment_elements as $comment_element_name => $comment_element_value){ $current_comment_item = preg_replace("/\\{comment_".$comment_element_name."\\}/", $comment_element_value, $current_comment_item); } return str_replace("{REPLIES}", $comment_items, $current_comment_item); }
En affichage, au lieu d'avoir le contenu du titre que je veux afficher, j'ai {comment_title} qui s'affiche !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <div class="comment-item" id="commentID{comment_id}"> <div class="comment-item-header"><a name="commentID{comment_id}"></a> {a_comment_avatar}<img src="{comment_avatar}" alt="avatar" class="avatar" width="26" height="26" />{/a_comment_avatar} <{if_comment_url}a href="{comment_url}"{/if_comment_url} class="nickname-link">{comment_name}</{if_comment_url}a{/if_comment_url}>{if_user_reputation}<span class="bullet">•</span> <div class="rep-score"><div class="rep-score-left"></div><div class="rep-score-center">{user_reputation}</div><div class="rep-score-right"></div></div>{/if_user_reputation} <div class="rating"> <div class="score" id="score{comment_id}">{comment_rating}</div> <div id="plus_{comment_id}" class="rating-plus" onmouseover="showPlus(this.id);" onClick="addPlus({comment_id});" onmouseout="hidePlus(this.id);"> </div> <div id="minus_{comment_id}" class="rating-minus" onmouseover="showMinus(this.id);" onClick="addMinus({comment_id});" onmouseout="hideMinus(this.id);"> </div> </div> </div> <div class="comment-title"> {comment_title} </div>
Quand je remplace {comment_title} par un autre champ comme {comment_id} j'ai bien le contenu de {comment_id} qui apparait !
Je précise que le champ title est bien ajouté à la table et qu'il y a bien une info à afficher (J'ai vérifié sous mySql).
Qu'est-ce que j'ai oublié ?
Merci par avance à tout ceux qui pourront m'aider !
Partager