CakePHPの日時の日本語対応
Posted on | 2009/10/31 13:31:39 | View Comments
今日はジョブの追加の日時入力の日本語化を行いました。新しいHelperを追加するという作業を始めてやりました。参考になるドキュメントがあって大変助かりました。
CakePHP Formヘルパの拡張 その1 日本語日付選択プルダウン : エクスギア Blog
views\helpers\jpform.php
<?php
class JpformHelper extends FormHelper {
// 日本語YMD形式の日付選択
function dateYMDHI($fieldName, $dateFormat = ‘DMY’ , $timeFormat = ’12′, $selected = null, $attributes = array(), $showEmpty = true) {
if(!isset($this->options['month'])){
$this->options['month'] = array();
for ($i = 1 ; $i <= 12 ; $i++) {
$this->options['month'][sprintf("%02d", $i)] = $i;
}
}
$sep = array("","","");
$attributes['separator'] = "";
$sep = array(" 年 "," 月 "," 日 ");
$ret = parent::dateTime($fieldName, ‘YMD’, ’12′, $selected, $attributes, $showEmpty);
$ret = preg_replace(‘|</select>|’, ‘{/select}’.@$sep[0], $ret, 1);
$ret = preg_replace(‘|</select>|’, ‘{/select}’.@$sep[1], $ret, 1);
$ret = preg_replace(‘|</select>|’, ‘{/select}’.@$sep[2], $ret, 1);
$ret = str_replace(‘{/select}’, ‘</select>’, $ret);
return $ret;
}
}
?>
contents_controller.php
var $helpers = array(‘Html’, ‘Form’,'Jpform’);
views\contents\add.ctp
echo $jpform->dateYMDHI(‘date’, ‘YMD’, ’12′, null, array(), false);
という感じにしました。
ついでにjQuery UI DatePickerのカレンダー表示も日本語化しました。こちらはJSファイル開いて、Januaryとかで検索かけて、ゴリゴリ日本語に書き換えていけば良いですね。
遂にkosukekato.comが電子書籍に!258本のコラムを収録しています。ePub形式でダウンロードしてiPhone / iPadで読んでいただくこともできます!
早くも第二弾刊行!意外と知らない「ヒトリシゴト」について綴った、自伝的ビジネスエッセイ。ePub形式でダウンロードしてiPhone / iPadで読んでいただくこともできます!
プランナー、加藤 康祐、1980年生まれ。大学在学中の1998年よりデザイン会社にてWEBプランニングやWEBデザインを経験。2005年6月より個人事業、Experience Transportersをスタート。企画から制作まで自ら担当する。







Leave a Reply