2009/10/31

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

(2012-10-5)
売り上げランキング: 14,705
100円