5丁目通信(仮称)

とある5丁目で活動する還暦間近のWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

CakePHP 日付の月の選択フォーマットの指定。月を英文から数字で表示する話し


CakePHP

現在、でニュースリリース管理を作成しています。そこで、リリースの日付を入力するところがあるのですが、CakePHPのそのままのHtmlヘルパーを使って日付を入力してしまうと、日本人向けではないフォーマットで選択させてしまう。

例えば、

$option_datetime = array(
  'type'         => 'datetime',
  'timeFormat'=> 24,
  'dateFormat'=> 'YMD',
  'legend'    => false,
  'label'        => false,
  'div'        => false,
  'interval'    => 15,
);

echo $form->input('release_date', $option_datetime);

のようにする。

これだと、月が英文(”Januaru” ~”December”)で選択させる。dateFormat属性の指定は、date()のfomartになるかと思えば違っていた。仕方ないので、formヘルパー(/cake/libs/view/helpers/form.)に手を入れようとした。しかし、FormHelperクラスの__generateOptionsメソッドのこの部分

を見ると、マニュアルにないmonthNames属性があることがわかる。上記の$option_datetimeに

'monthNames' => false,

を追加すれば、月が’01’~’12’になる。ソースは読んでみるものだ。

しかし、このソースを書いた人は、date()を頭にないような感じがする。本当ならば、dateFormat属性がdate()のフォーマット指定のように振る舞えればいいのだが。

ブログランキング・にほんブログ村へ 人気ブログランキング

%d人のブロガーが「いいね」をつけました。