[CakePHP 2.2.3]
カスタムRoutingを使用している時にPaginatorのURLが思ったように出力されなくてかなりハマることは良くありますよね!
この辺は公式マニュアルに書いてなかった気がしますので尚更です。(実は書いてあったらスミマセン)
例えば、以下のようにRoutingが設定されていた場合、
Config/routes.php
[php]
Router::connect(‘/:hoge1/:hoge2’, array(‘controller’ => ‘articles’, ‘action’ => ‘index’),
array(
‘hoge1’ => ‘[a-zA-Z]+’
‘hoge2’ => ‘[0-9]+’,
));
[/php]
ViewのPaginatorでは、以下のように設定します。
View/Articles/index.ctp
[php]
<?=$this->Paginator->numbers(array(
‘url’ => array(‘controller’ => ‘articles’, ‘action’ => ‘index’, ‘hoge1’ => ‘foo’, ‘hoge2’ => 123)
))?>
[/php]
または、Paginationのリンクを出力する前に以下のように設定しておくことも出来ます。
[php]
<?php $this->Paginator->options(array(
‘url’ => array(‘controller’ => ‘articles’, ‘action’ => ‘index’, ‘hoge1’ => ‘foo’, ‘hoge2’ => 123)
))?>
[/php]
ポイントは、しっかりとパラメータを入力してあげることですね。
2019/11/17
この内容に助けられました!