1

ここで私がやろうとしているのは、すべてのページネーション URL で変数 42 を維持することです。ここから URL を変更したい

/exams/take/42/page:2

これに

/exams/take/42/items/2

繰り返しますが、42 という数字は変数です.2 という数字はページ番号です..ありがとうございます。

アップデート :

routes.php
 Router::connect('/examinations/take/:id/page/:page', 
array('controller' => 'examinations', 'action' => 'take'),
array(
    'pass' => array('id', 'page'),
    'id' => '[0-9]+',
    'page' => '[0-9]+'
    )
);

ビュー/テイクで

$this->Paginator->options(array('url' => $this->passedArgs));

AppController.php

public function beforeFilter(){
    if (isset($this->request->params['page'])) {
        $this->request->params['named']['page'] =                           $this->request->params['page']; 
    }
}

私はこれを試しました..しかし、次のリンクと前のリンクをクリックすると、生成されたURLは同じ/examinations/take/42/page:2です..

4

2 に答える 2

1

はい、カスタムルーティングを使用してそれを行うことができます。詳細については、ページネーションでカスタムルーティングを管理するための CakePHP のマニュアルを参照してください。

http://book.cakephp.org/2.0/en/development/routing.html

以下はあなたのものになります

例えば

そして、このルートを追加することにより:

Router::connect('/:id/page/:page', 
    array('controller' => 'examinations', 'action' => 'take'),
    array(
        'pass' => array('id', 'page'),
        'id' => '[0-9]+',
        'page' => '[0-9]+'
        )
);

そして私はあなたがリンクを参照することができます動作しません

于 2013-05-17T03:54:35.707 に答える