CakephpでPaginator->numbersのリンク先を変える

cakephp 2.6でPaginator->numbersのリンク先を変えるのに調べてみました

参考) Paginator — CakePHP Cookbook 2.x ドキュメント

Config\routes.php
でurlをセットした時に調べました

routes.phpを

    $defaults = array('controller' => 'sample');
    Router::connect('/sample', $defaults);
    Router::connect('/sample/:type/:mode', $defaults);

なんてしたときに

Viewでpaginator->numbersを表示させると

    <?php echo $this->Paginator->numbers(); ?>

sample/type/mode にアクセスした時
ページャーのリンク先が sample?page=2 とかになってほんとは sample/type/mode?page=2
にしたいってときは

    <?php echo $this->Paginator->numbers(array('type'=>$type, 'mode'=>$mode)); ?>

sample/type/mode?param=100 にアクセスした時
ページャーのリンク先が sample/type/mode?page=2 になるので
クエリパラメータ残して sample/type/mode?param=100&page=2 にしたいときは

    <?php echo $this->Paginator->numbers(
            array(
                'type'=>$type, 'mode'=>$mode,
                array('?'=>array('param'=>'100'))
            )
    ); ?>

と ? の配列を追加してやるとできました

コアのソースコードを読んでみつけました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください