如何在Yii无限滚动中禁用相同的行重复?

时间:2014-03-30 16:11:31

标签: php jquery ajax yii yii-extensions

在我的网页中添加无限滚动后,我发现有时它会在另一个页面上显示相同的行。我使用了以下代码 -

<?php $this->widget('ext.yiinfinite-scroll.YiinfiniteScroller', array(
'contentSelector' => '#posts',
'itemSelector' => 'div.post',
'loadingText' => 'Loading...',
'donetext' => 'Data loading end',
'pages' => $pages,
)); ?>

如何禁用重复同一行?

1 个答案:

答案 0 :(得分:0)

无限滚动(和yii-无限滚动)在遇到404错误时停止查询服务器。在下一页。 Yii框架不断返回页数大于结果的最后结果。

这就是为什么你会在结果的末尾看到重复的行...以防止这个代码添加到控制器中的相应操作。

if(isset($_GET['Model_page'])){
    if($model->search()->pagination->pageCount < $_GET['Model_page']+1){
        throw new CHttpException(404,'No More results');
    }
}

Model_page取代Post_page等取决于您的型号名称,而$model->search()dataProviderdataProvider,如果您有其他{{1}}请在声明之后直接使用它。