You are here

关于评论筛选的问题,就是在评论的上方加个下拉框,只显示楼主和自己的评论供别人选择,怎么实现?

moumouguoguo 的头像
Submitted by moumouguoguo on 星期一, 2014-02-10 06:26

老葛你好!

我这边有个需求,就是在评论的上方加个下拉框,只显示楼主和自己的评论供别人选择。

核心逻辑是好弄,比如可以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;
}

代码如下,却发现一大堆莫名其妙的排版问题,比如评论内容错位等等,实在想不清要怎么样才能和原来的排版一样。请问你有弄过这块的吗?请指点一下,谢谢!

论坛:

Drupal版本:

g089h515r806 的头像

是啊,排版比较乱。
如果是我的,我会考虑做两个views,一个显示楼主,一个显示自己。点击一个显示一个,不用使用exposed filter。