elgg 1.8中的讨论分页无法正常工作

时间:2014-12-11 14:14:57

标签: elgg

我们有一个使用elgg创建的网站,我们讨论了elgg,其中分页不正常。

列出所有讨论列表时,分页工作正常,从最新到最旧

但是主题内部的分页(其中一个讨论)回复太多了,并且它们通过分页(上一页,下一页)分开,它显示的回复不正确:

在第一页中我们有:The first page

正如您所看到的,从最新到最早订购:17天前,然后是21天前。

但是当你走到下一页时:Page 2

它在页面内从最新到最旧排序,但页面应该交换。

我该如何解决?

谢谢你

2 个答案:

答案 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'

然后我得到了正确的回复:从最新到最旧。