Formのdateで月選択の0が気になる
CakePHPでFormのdatetimeを使ったときに、日付選択は「1,2,3・・・」なのに月選択が「01,02,03・・・」なのが気になります。月も「1,2,3・・・」にしましょう。
まず「lib/Cake/View/Helper/FormHelper.php」を 「app/View/Helper/FormHelper.php」にコピーして編集します。探してみると以下のようなところがありました。
case 'month':
if ($options['monthNames'] === true) {
$data['01'] = __d('cake', 'January');
$data['02'] = __d('cake', 'February');
$data['03'] = __d('cake', 'March');
$data['04'] = __d('cake', 'April');
$data['05'] = __d('cake', 'May');
$data['06'] = __d('cake', 'June');
$data['07'] = __d('cake', 'July');
$data['08'] = __d('cake', 'August');
$data['09'] = __d('cake', 'September');
$data['10'] = __d('cake', 'October');
$data['11'] = __d('cake', 'November');
$data['12'] = __d('cake', 'December');
} elseif (is_array($options['monthNames'])) {
$data = $options['monthNames'];
} else {
for ($m = 1; $m <= 12; $m++) {
$data[sprintf("%02s", $m)] = strftime("%m", mktime(1, 1, 1, $m, 1, 1999));
}
}
break;
if ($options['monthNames'] === true) {
$data['01'] = __d('cake', 'January');
$data['02'] = __d('cake', 'February');
$data['03'] = __d('cake', 'March');
$data['04'] = __d('cake', 'April');
$data['05'] = __d('cake', 'May');
$data['06'] = __d('cake', 'June');
$data['07'] = __d('cake', 'July');
$data['08'] = __d('cake', 'August');
$data['09'] = __d('cake', 'September');
$data['10'] = __d('cake', 'October');
$data['11'] = __d('cake', 'November');
$data['12'] = __d('cake', 'December');
} elseif (is_array($options['monthNames'])) {
$data = $options['monthNames'];
} else {
for ($m = 1; $m <= 12; $m++) {
$data[sprintf("%02s", $m)] = strftime("%m", mktime(1, 1, 1, $m, 1, 1999));
}
}
break;
数字で表示しているのはelseの部分ですね。以下のように編集しました。
$data[sprintf("%02s", $m)] = date("n", mktime(1, 1, 1, $m, 1, 1999));
CakePHP3を勉強したい方はこちらの書籍がおすすめです。
カテゴリ:CakePHP 投稿日時:2017年4月12日 10:45
コメント
コメントはまだありません。
コメント投稿
ご自由にコメントください!
※一度投稿すると削除できませんのでご注意ください。管理者の独断と偏見で削除する場合があります。コメント機能は予告なく停止する場合があります。
カテゴリ
新着備忘録
「MySQL」ERROR 2013 (HY000) at line : Lost connection to MySQL server during query
MySQLでERROR 2013 (HY000) at line : Lost connection to MySQL server during queryエラーが出た。
CakePHP3 CSSやjavascriptを更新したのに反映されない!
CakePHP3でCSSやjavascriptにタイムスタンプをつける方法です。
CakePHP3のタイムゾーン設定
CakePHP3のタイムゾーン設定方法です。
Thunderbirdで同じメールが何度も届く件
Thunderbirdで同じメールが何度も届く件についてです。
CakePHP3でCSV出力
CakePHP3でCSV出力する方法です。