そうだ、コアを読もう5 -CakePHP-

View で Paginator のヘルパー使っているんですけど、タグとかが上手に行かなくて、デザインが…。

という相談が持ち込まれた。

その人が言うには、 Paginator::numbers() を使うと以下の点が不便だ、検索しても解消方法が出てこない、と。

  1. 要素が span になる
  2. 現在の番号に a タグがつかない

 その聞いてすぐに「いやいや、なんかあるでしょう」と思った。

そんな誰しも気づく不便さをフレームワークが見逃すわけがない。

検索しても出てこない?

まぁ、そういうこともあるだろう。

じゃぁどうするか、コアを読めばいいじゃない。

 と言うことで早速 lib/Cake/View/Helper/PaginatorHelper.php (Version 2.4.6) を開く。

numbers() は 706 行目だ。

そしてすぐに目に入る 713 ~ 718 行目。

$defaults = array(
    'tag' => 'span', 'before' => null, 'after' => null, 'model' => $this->defaultModel(), 'class' => null,
    'modulus' => '8', 'separator' => ' | ', 'first' => null, 'last' => null, 'ellipsis' => '...',
    'currentClass' => 'current', 'currentTag' => null
);
$options += $defaults;

はい。

一気に解決ね。

  1. 'tag' => 'span'
  2. 'currentTag' => null

 解説の必要性を全く感じさせない記述である。

読めばすぐわかるのにね。

 

そういえば 2.5.2 が安定版リリースされたなぁ。