[hello world 動かない ][検索]

プログラミング関連で自分が調べた事をメモる

cakephp 複数 パラメータ 値 空

引数が複数のActionに空の値を渡したい


カテゴリが一致するデータのnページ目を取得する場合、アクションをこのように作って

public function list($category, $page) {
  // 処理
}

下記のURLで野菜に関する投稿のリストの2ページ目を取得するようにした
http://nanntokakanntoka.com/appname/posts/list/yasai/2

カテゴリの指定がない(空文字列の)場合はすべての投稿のリストを取得して、さらにその4ページ目を取得したい場合
http://nanntokakanntoka.com/appname/posts/list/ココどうすればいいんだろう?/4
となって調べた

URLの指定は下記のようにする
http://nanntokakanntoka.com/appname/posts/list/category:/page:4

Viewに書く場合

echo $this->Html->link('All List', array(
  'controller' => 'posts',
  'action' => 'view',
  'category' => '',
  'page' => 4
));

このように書いておくと上記のURLへのリンクを作成してくれる

Controllerで値を受け取るのは関数の引数からではなくて
$this->request->params['named'] の中に入っているのでそこから取得する

public function list() {
  $category = $this->request->params['named']['category'];
  $page     = $this->request->params['named']['page'];
  // 処理
}