4

我使用 CArrayDataProvider 进行分页。现在只有页码在 url 中传递。我想传递更多的附加属性。我怎么做?这是我的数据提供者。

$dataProvider = new CArrayDataProvider($arrayData,  array(
                                'keyField'=>'entity_id',
                                'sort'=>array(
                                        'attributes'=>array('entity_id'),
                                        'defaultOrder'=>array('entity_id' => false),
                                ),
                                'pagination'=>array(
                                        'pageSize'=>20,
                                ),
        ));  
4

2 回答 2

7

CPagination 需要参数。尝试添加'params' => array('foo' => 'bar'). pagination

于 2013-04-10T09:29:51.723 回答
7

问题是如何传递“附加”参数。

接受答案的代码将覆盖您现有的 $_GET 参数:

    'params'  => array('foo' => 'bar')

要添加“附加”参数,首先将它们添加到现有的 $_GET 参数中:

    $pagerparams = $_GET; 
    $pagerparams['foo'] = 'bar';

    $dataProvider = new CActiveDataProvider($this, array(
        'pagination'=>array(
            'params'  => $pagerparams,
        ),
        ...
    ));
于 2015-06-16T21:03:56.713 回答