yii 分页问题:
暂时提供两种解决方法:
1.使用zii.widgets.CListView来实现
1)在controller中设置分页
public function actionIndex()
{
//在这里添加分页
$dataProvider=new CActiveDataProvider('User', array(
'pagination'=>array('pageSize'=>3,),
));
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
2)在显示页面设置分页详情
<?php
$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
'pager' => array(
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'firstPageLabel' => '首页',
'lastPageLabel' => '末页'
),
));
?>
2.使用CLinkPager
1)在controller中设置分页
$dataProvider=new CActiveDataProvider('Book');
$criteria=new CDbCriteria;
$pager = new CPagination(Book::model()->count($criteria));
$pager->pageSize = 3;
$pager->applyLimit($criteria);
$this->render('index',array(
'dataProvider'=>$dataProvider,
'pager'=>$pager,
));
2)在显示页面对细节进行设置
<?php foreach ($dataProvider as $item): ?>
ID:<?php echo $item[id];?><br/>
书名:<?php echo $item[name];?><br/>
作者:<?php echo $item[author];?><br/>
<?php endforeach;?>
<?php
$this->widget('CLinkPager', array(
'pages' => $pager,
'header' => '',
'firstPageLabel' => '首页',
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'lastPageLabel' => '末页',
'footer' => '',
'htmlOptions' => array(),
));
?>
可能在yii自动生成css样式的时候会将“首页”以及“末页”的样式设为display:none。若需要令其显示则需要修改相应的css代码。
========================================================================