cakephpのFormHelperを使って日付の選択肢を作ると、
デフォルトは英語仕様だが、オプションが結構用意されているので日本語仕様にもできる。
ただいろいろ変えてみても、2018/03/1みたいになって月は2桁表示なのに、日は1桁表示でもどかしい。

結局、FormHelper自体を修正したので、そのメモ書き。
該当箇所は lib/Cake/View/Helper/FormHelper.php の大体2900行目あたり。

protected function _generateOptions($name, $options = array()) {
...
case 'day':
//普通に 1~31 の数字を出力しているだけだった…
for ($i = 1; $i <= 31; $i++) {
//データとなるkey(左側)は2桁表示にしてあるので、表記の方(右側)も2桁表示にしてあげる
$data[sprintf('%02d', $i)] = sprintf('%02d', $i);
}
break;
...
}


▲上に戻る