我实现了Yii无限滚动扩展。它的工作正常。它动态地从数据库中滚动10×10,最后再重复10次。
我只打印文本值,但最后一行,即最后10个值重复一次。
我在这里添加了我的代码:
网站控制器
$criteria = new CDbCriteria;
$total = Recipe::model()->count();
$pages = new CPagination($total);
$pages->pageSize = 10;
$pages->applyLimit($criteria);
$posts = Recipe::model()->findAll($criteria);
$this->render('index', array(
'posts' => $posts,
'pages' => $pages,
));
我的索引页面:
<div id="posts">
<?php foreach($posts as $rec): ?>
<?php $rec_id=$rec['recipe_id']; $name=$rec['name']; ?>
<?php echo $name=$rec['name']; ?>
然后我在
下面添加了我的扩展程序答案 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()
是dataProvider
是dataProvider
,如果您有其他{{1}}请在声明之后直接使用它。