Nov 21 2009
∞
ページングのURL構造を維持してリンク作成
ページングで一覧するコントローラに絞込み機能などを追加しようと考えた場合、ソートなどページングに関連する URL の状態を崩したく無いのでベースとなる URL をとりあえず維持しておく。
$baseUrl = array_merge( array( 'controller' => $this->params['controller'], 'action' => $this->params['action'] ), $this->params['named'] );
リンク作る場合はこんな感じ
e( $html->link( 'Anchor text', array_merge( $baseUrl, array( 'refine' => 'name:hoge' ) ) ) );
コントローラでこう解釈すればいい
$column = $value = null;
list( $column, $value ) = explode( ':', $this->params['named']['refine'] );
$this->set( 'data', $this->paginate( array( $column => $value ) ) );