如何在Yii中获取页码

时间:2013-05-14 07:57:30

标签: yii

我正在使用Yii来显示一个列表页面,该页面通过zii.widgets.CListView自动显示在几个页面中。

当用户点击下一页时,该网址不会更改。但我需要知道用户正在查看哪个页面。

如何在Yii中获取页码?

3 个答案:

答案 0 :(得分:1)

在CViewList上禁用Ajax 'ajaxUpdate'=> false

由于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);
    ?>

答案 1 :(得分:0)

设置pagination

的从零开始的currentPage属性
...
'pagination'=>array(
  'pageSize'=>2,
  'currentPage'=>1,
),
...

currentPage返回当前页面的从零开始的索引。

尝试在视图页中获取当前页码,如$cuurentPage=>$pages->currentPage+1,

答案 2 :(得分:0)

您从数据提供者的CPagination对象获取当前页面:

$provider = $model->search();
$page = $provider->pagination->currentPage;