CakePHPの日時の日本語対応
今日はジョブの追加の日時入力の日本語化を行いました。新しいHelperを追加するという作業を始めてやりました。参考になるドキュメントがあって大変助かりました。
CakePHP Formヘルパの拡張 その1 日本語日付選択プルダウン : エクスギア Blog
viewshelpersjpform.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’);
viewscontentsadd.ctp
echo $jpform->dateYMDHI(‘date’, ‘YMD’, ’12’, null, array(), false);
という感じにしました。
ついでにjQuery UI DatePickerのカレンダー表示も日本語化しました。こちらはJSファイル開いて、Januaryとかで検索かけて、ゴリゴリ日本語に書き換えていけば良いですね。

加藤 康祐 / 企画・設計
プランナー、デザイナー。加藤康祐企画設計代表。Webデザインを入り口に、2005年よりフリーランスとしてのキャリアスタート。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの運営、社会的養護の子どもたちの自立を支援するNPOのサポート。ラグビーと料理、最近イラスト。
是非、フォローしてください!
Twitter / Instagram
売り上げランキング: 14,705
100円
フリーランスとして働き始めるってどういうことだったのか?フリーランスとして働くってどういうことなのか?フリーランスが目指すことってなんなのか?5年間の自分の経験から書きました。(2010年執筆)