2013-04-10 92 views
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, 
           ), 
     )); 

回答

7

CPagination需要參數。嘗試在pagination中添加'params' => array('foo' => 'bar')

6

問題是如何傳遞「附加」參數。

接受答案的代碼將覆蓋現有的$ _GET參數:

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

要增加 「額外」 參數,首先將它們添加到現有的$ _GET參數:

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

    $dataProvider = new CActiveDataProvider($this, array(
     'pagination'=>array(
      'params' => $pagerparams, 
     ), 
     ... 
    )); 
+0

謝謝,甚至如果它沒有幫助OP它幫助了我 – 2018-02-16 14:49:03