2014-03-30 30 views
0

在我的网页中添加无限滚动后,我发现有时它在另一页上显示相同的行。我已使用以下代码 -如何禁用Yii无限滚动中重复的同一行?

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

如何禁用重复同一行?

回答

0

当它遇到404错误时,无限滚动(和yii-infinite scroll)会停止查询服务器。在下一页。 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()是你dataProvider,如果你有一些其他dataProvider请使用,它已被宣布后直接被取代。