3

Cakephp でパラメーターを渡したいのですが、並べ替えた結果を検索してページネーションの 2 ページをクリックすると、URL が記憶されません。dromdown から選択したパラメーターを渡したいのですが、どのように渡すことができますか?私のコントローラーコードのページネーションのparamsは

        $membershipType = '';
    $status         = '';
    $timeSpan       = '';

    $fieldName = 'membership_Type';
    if(!empty($this->params->named["fieldName"])){
        $this->request->data['associations']["fieldName"] = $this->params->named["fieldName"];
    }
    $fieldName = 'statuses';
    if(!empty($this->params->named["fieldName"])){
        $this->request->data['associations']["fieldName"] = $this->params->named["fieldName"];
    }

    $fieldName = 'time_Span';
    if(!empty($this->params->named["fieldName"])){
        $this->request->data['associations']["fieldName"] = $this->params->named["fieldName"];
    }       

ページネーションでフィールド名の値を渡したいのですが、どのように渡すことができますか? 私の見解では、コードは

 echo $this->PaginatorManager->options();

私はここで 2 日間本当に立ち往生しています。今何ができるかわかりません。私を助けてください、それはもっと高く評価されます、事前にたくさんの感謝をします。

4

2 に答える 2

3

次のように、ビューのページネーションに「url」オプションを渡すことができます。

$url = array_merge($this->request->pass, $this->request->named);
unset($url['page']);
$parts = explode('?', $_SERVER['REQUEST_URI'], 2);
if (count($parts) == 2) {
    $url['?'] = $parts[1];
}
$this->Paginator->options(array(
    'url' => $url,
));

詳細はこちら: http://api.cakephp.org/2.2/class-PaginatorHelper.html およびこちら: http://book.cakephp.org/2.0/en/core-libraries/helpers/paginator.html#PaginatorHelper::オプション

フィルタと追加の URL パラメータを広く使用する場合は、それを処理する要素を作成してください

于 2013-03-21T15:15:02.500 に答える
1

これは私のために働く:

app.Config.routes.php でパラメーターを定義します。

Router::connect('/my_account/*', array('controller' => 'ads', 'action' => 'my_account'), array(
'pass' => array('status')
));

次に、ビューファイルで:

$this->Paginator->options(array(
'url' => $this->request->pass
));
于 2013-05-05T19:36:56.293 に答える