[CakePHP]FormHelperの初期値

formhelperの日付指定の定義値を変更する場合、以下のようなコードを追加すると変更できる。

$this->form->options['month'] = array();
for ($i = 1 ; $i < = 12 ; $i++) {
$this->form->options['month'][$i] = sprintf("%02d", $i);
}
$this->form->options['year']=array();
for ($i = 0 ; $i+1960 < = (date('Y')) ; $i++) {
$this->form->options['year'][$i+1960] = sprintf("%02d", $i+1960);
}

だが、いちいちこれを書くのは明らかに無駄。
AppControllerのbeforeRender()で書いてみたけどだめ。
app_view.phpというのはなさそうなのでどうにも手詰まり。

結局のところ以下のようにした
AppControllerで上記のコードを生成してviewにセット
実際に使用するviewの先頭で
options=$options;
とすると表示されます。
フォーマットを複数用意したい場合は複数用意しておいて、viewで切り替えればOKだと思います。

タイトルとURLをコピーしました