今までBakeryにある他のPaginatorを使ってたけれども1.2のstableがリリースされたことだし、標準装備があるなら標準の方を使うかと言うことで、試しに使ってみました。
んで、/index/page:2とかでpaginationができるのは便利で良いんだけれども、/index/limit:2000000000みたいな感じで、意図しないパラメーターを与えられてもちゃんと動いてしまうのが困る。
コードを読んでみるとpaginate()にwhitelistがあるみたいで、$this->paginate(‘Post’,null,array(‘page’))みたいな感じにするとpage:xしか有効にならないみたい。
意外とPagenatorについて書かれていても、whitelistについては言及しているところが少ないので一応ポスト。
■追記
pagenatorのパラメータのコロン区切りがちょっと見慣れない感じで気持ち悪いなーと思って、変更する方法を調べていたらこんな書き込みが
http://pc11.2ch.net/test/read.cgi/php/1236563737/
47 名前:44[sage] 投稿日:2009/03/17(火) 13:47:50 ID:???
>>45
>>46
Cakeで作られたサイトをいくつか見たのですが、
ページング処理のあるページのURLにコロンなどが含まれていなかったので、
みなさん、なにか細工されているのかと思いまして・・・routerでnamedパラメータの区切り文字「:」を変えることはできるのですが、
それだと、
page=1/order=created
のようになるだけなので・・・あまり拘っても意味ないのかな。
50 名前:nobodyさん[sage] 投稿日:2009/03/17(火) 15:25:42 ID:???
>>47
検索エンジンのクローラーを別とすると、URLを見ているのは、HTML分かる人だけだわな。
とすると、クエリストリングだろうが、見慣れないcake式だろうが、そういう人が見ればどれでも一緒ということになる。
だからあまり気にすることないかと。
それよりは、面倒なところをcakeに任せた方がつくるのもメンテも楽だと思う。
もっともすぎる意見なんだけれども、検索エンジンがどういう動きをしているのかわからんので、やっぱり?page=1みたいなパラメータらしいパラメータにしたいところだなあ…
そんなにこだわるべきところではないんだろうけど、気になってしまう。