老葛你好!
我这边有个需求,就是在评论的上方加个下拉框,只显示楼主和自己的评论供别人选择。
核心逻辑是好弄,比如可以get方式传递uid和nid,但不知道要将逻辑写在哪里,或者哪个hook下,请指点。
后来我在theme_preproess_node这个方法下查询数据库
//只看自己的评论
$self_uid = isset($_GET['ziji_uid'])?intval(filter_xss($_GET['ziji_uid'])):NULL;
if(!empty($self_uid)){
$form = $variables['content']['comments']['comment_form'];
$node = node_load($nid);
$query = 'SELECT cid FROM {comment} WHERE uid=:uid AND nid=:nid ORDER BY cid ASC';
$result = db_query($query,array(':uid'=>$self_uid,':nid'=>$nid))->fetchAll();
if(!empty($result)){
foreach ($result as $value) {
$cid = $value->cid;
$comment = comment_load($cid);
$build[$comment->cid] = comment_view($comment, $node);
}
}
else{
$build['help'] = array('#markup'=>'您并未在该主题下评论喔~');
}
$build['title'] = array('#markup'=>'
');
$build['comment_form'] = $form;
$variables['content']['comments'] = $build;
}
代码如下,却发现一大堆莫名其妙的排版问题,比如评论内容错位等等,实在想不清要怎么样才能和原来的排版一样。请问你有弄过这块的吗?请指点一下,谢谢!
添加新评论