我们有一个使用elgg创建的网站,我们讨论了elgg,其中分页不正常。
列出所有讨论列表时,分页工作正常,从最新到最旧
但是主题内部的分页(其中一个讨论)回复太多了,并且它们通过分页(上一页,下一页)分开,它显示的回复不正确:
在第一页中我们有:
正如您所看到的,从最新到最早订购:17天前,然后是21天前。
但是当你走到下一页时:
它在页面内从最新到最旧排序,但页面应该交换。
我该如何解决?
谢谢你
答案 0 :(得分:0)
它运作正常。通过线程上的最后一个操作来排序讨论。您可能首先使用较旧的线程,因为它具有所有线程的最新响应。
要进行更改,请查看discussion_handle_list_page
中的mod/groups/lib/discussion
功能以及它如何使用order_by
参数。您需要覆盖此页面并删除order_by
以使用默认排序,即实体的创建时间(在他的案例中为线程)。你可以通过点击"路线"插件挂钩,或覆盖整个讨论页面处理程序。
这就是为什么不直接更改内联:http://learn.elgg.org/en/1.9/guides/dont-modify-core.html
答案 1 :(得分:0)
我发现最终遍历了所有分页库和注释视图。
问题在于列出 replies.php 文件的讨论回复时,在 / views / default / discussion 中,页面底部有两个jquery函数颠倒顺序。
function reverse(arr){
var newArr = [];
for(var iter = arr.length -1; iter >= 0; iter--){
newArr.push(arr[iter])
}
return newArr;
}
我已将iter更改为从0开始并转到arr.lenthg。
但它还不是全部,为了得到最新的回复,我已经添加到
$options = array(
'guid' => $vars['entity']->getGUID(),
'annotation_name' => 'group_topic_post',
);
这一行:
'order_by'=> 'time_created desc'
然后我得到了正确的回复:从最新到最旧。