0

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

当用户单击下一页时,url 不会改变。但我需要知道用户正在查看哪个页面。

Yii如何获取页码?

4

3 回答 3

1

使用'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);
    ?>
于 2013-05-14T09:36:30.953 回答
0

设置从零开始的currentPage属性pagination

...
'pagination'=>array(
  'pageSize'=>2,
  'currentPage'=>1,
),
...

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

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

于 2013-05-14T08:05:46.407 回答
0

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

$provider = $model->search();
$page = $provider->pagination->currentPage;
于 2013-05-14T08:16:56.730 回答