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で読んでいただくこともできます!

Leave a Reply





blog comments powered by Disqus