我正在使用 Yii 显示一个列表页面,该页面通过 zii.widgets.CListView 自动显示在几个页面中。
当用户单击下一页时,url 不会改变。但我需要知道用户正在查看哪个页面。
Yii如何获取页码?
我正在使用 Yii 显示一个列表页面,该页面通过 zii.widgets.CListView 自动显示在几个页面中。
当用户单击下一页时,url 不会改变。但我需要知道用户正在查看哪个页面。
Yii如何获取页码?
使用'ajaxUpdate'=>false在 CViewList 上禁用 Ajax
由于 ajax 调用,您不会直接获得当前页码。如果从 CListView 禁用 ajax,则可以在页面加载时获取当前页码。
我的样品控制器
<?php
$dataProvider = new CActiveDataProvider('MyModel', array('pagination' => array('pageSize' => 3)));
$this->render('MyViewPage', array('dataProvider' => $dataProvider));
?>
现在查看我的视图
<?php
$this->widget('zii.widgets.grid.CGridView',
array(
'dataProvider' => $dataProvider,
'ajaxUpdate'=>false
));
echo "Current Page Number is: ".(int)($dataProvider->pagination->getCurrentPage()+1);
?>
设置从零开始的currentPage
属性pagination
...
'pagination'=>array(
'pageSize'=>2,
'currentPage'=>1,
),
...
currentPage
返回当前页面的从零开始的索引。
尝试$cuurentPage=>$pages->currentPage+1,
在视图页面中获取当前页码。
CPagination
您从数据提供者的对象中获取当前页面:
$provider = $model->search();
$page = $provider->pagination->currentPage;