So-net無料ブログ作成
Lancers.jp

CakePHPその16 〜FormHelper〜 [CakePHP]

ついにCakePHP1.2 RC1がでた。
心の底から待ってましたよ。ほんとに。
ちなみに、いまだPHP4でやってるんで、マジ重いです。

で、フォームのセレクトタグの話。
やり方は、下記のサイト様の通り。
Sun Limited Mt. http://www.syuhari.jp/blog/archives/192

上記サイト様は最近、毎日見てる気がするよってくらい良い情報がたくさんあって嬉しい。
でも今回、CakePHP1.2 RC1を使ったら、微妙に直さなきゃいけないとこがあったので、そのあたり。

こんな感じで書いてみる
$form->dateTime('Model/field"', 'YMD', 'NONE', date('Y').'-'.(date('m')+1).'-'.date('d'), array('minYear' => date('Y'), 'maxYear' => date('Y')+5, 'separator' => ' / '), false )

上記の書いてある通りにすると、下記のようになる。


気になる…は二つある。
1.月名が英語名表記になってる。
2.年が上にのびてる

1.はさすが、メリケン人が作ったものって感じで、デフォがコレかよ!別にいいけど。
これは、optionのmonthNamesを偽にすれば、数字表記になる。
$form->dateTime('Model/field"', 'YMD', 'NONE', date('Y').'-'.(date('m')+1).'-'.date('d'), array('minYear' => date('Y'), 'maxYear' => date('Y')+5, 'separator' => ' / ', 'monthNames' => false), false )

2.これがとにかく気持ち悪い。
なんで、日は下に延びるのに、年は上にいくの!?やだやだ。
これは、どこが悪さしてんのかと思ったら、form.phpの1696行目
$data = array_reverse($data, true);
なんだコレ?わざわざ反転させてるのかー。なぜ?
理由が全くわからないし、気持ち悪いのでこの行をコメントアウト

コレでようやく、下記のようになりましたとさ。


あいかわらず、ソース読まなきゃやってらんない感じでした。
(もしかしたら、2は大きな勘違いをしてる可能性ありか?まあいいや)

#ちなみに、テスト用なんで手抜きしたのそのまま出してるので、date('Y')が頻発してますが、こういう書き方は無いですね。
#参考までにhttp://phpspot.org/blog/archives/2006/11/12php.html


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。