ページ: << 1 ... 9 10 11 12 13 14 15 16 17 18 19

日付のセレクトボックスの作り方

パーマリンク 2008/06/02 15:23:34 著者: cakephp メール
カテゴリ: ヘルパー

CakePHP1.2 RC3

1.2 では Form ヘルパーの dateTime を利用すると簡単にセレクトボックスを作成することができます。

<?php e($form->datetime('date', 'YMD', 'NONE', '2008-10-10', array('minYear' => 2008, 'maxYear' => date('Y'), 'monthNames' => false), false)); ?>


CakePHP1.1

日付のセレクトボックスを作るには、hlmlヘルパーのdateTimeOptionTagを使えばできます。

APIドキュメント

HtmlHelper::dateTimeOptionTag (	$tagName,
		$dateFormat = 'DMY',
		$timeFormat = '12',
		$selected = null,
		$selectAttr = null,
		$optionAttr = null,
		$showEmpty = true	 
	)

Returns a set of SELECT elements for a full datetime setup: day, month and year, and then time.

Parameters:
    	string 	$tagName Prefix name for the SELECT element
    	string 	$dateFormat DMY, MDY, YMD or NONE.
    	string 	$timeFormat 12, 24, NONE
    	string 	$selected Option which is selected.
    	array 	$optionAttr Attribute array for the option elements.

Returns:
    string The HTML formatted OPTION element public 

Definition at line 688 of file html.php.

References $elements, and $pos.


使い方はViewに下記の通りに書けば表示されます。

<?php echo $html->dateTimeOptionTag('Sample/name', 'YMD', '24'); ?>

細かい設定は上記のドキュメントの通りです。


この状態だと、「2008-May-1」のように月の部分が英語で表示されるのでhtmlヘルパー内の下記の部分を変更して、日本語(数字)にします。

app/views/helpers/html.php

	function monthOptionTag($tagName, $value = null, $selected = null, $selectAttr = null, $optionAttr = null, $showEmpty = true) {
		:
		// 変更前
//		$months = array('01' => 'January', '02' => 'February', '03' => 'March', '04' => 'April', '05' => 'May', '06' => 'June', '07' => 'July', '08' => 'August', '09' => 'September', '10' => 'October', '11' => 'November', '12' => 'December');
		// 変更後
		$months = array('01' => '1', '02' => '2', '03' => '3', '04' => '4', '05' => '5', '06' => '6', '07' => '7', '08' => '8', '09' => '9', '10' => '10', '11' => '11', '12' => '12');
		:
	}


「-」も日本語に変更したい場合は、同ファイルの下記の部分を変更します。
app/views/helpers/html.php

	function dateTimeOptionTag($tagName, $dateFormat = 'DMY', $timeFormat = '12', $selected = null, $selectAttr = null, $optionAttr = null, $showEmpty = true) {
		:
			case 'YMD':
				// 変更前
/*
				$opt = $this->yearOptionTag($tagName, null, null, null, $year, $selectYearAttr, $optionAttr, $showEmpty) . '-' .
				$this->monthOptionTag($tagName, null, $month, $selectMonthAttr, $optionAttr, $showEmpty) . '-' .
				$this->dayOptionTag($tagName, null, $day, $selectDayAttr, $optionAttr, $showEmpty);
*/
				// 変更後
		                $opt = $this->yearOptionTag($tagName, null, null, null, $year, $selectYearAttr, $optionAttr, $showEmpty) . '年' .
                		$this->monthOptionTag($tagName, null, $month, $selectMonthAttr, $optionAttr, $showEmpty) . '月' .
		                $this->dayOptionTag($tagName, null, $day, $selectDayAttr, $optionAttr, $showEmpty).'日';
		:
	}

参考サイト

パーマリンク 2008/06/01 15:17:17 著者: cakephp メール
カテゴリ: 参考サイト

<< 1 ... 9 10 11 12 13 14 15 16 17 18 19

2017年8月
 << <   > >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

CakePHPに関する情報をまとめていきます。

開発スピードがアップできればうれしいです。

>>連絡はこちらへどうぞ



CakePHP最新版
CakePHP 1.2.3.8166


CakePHPの書籍

CakePHPによる実践Webアプリケーション開発

CakePHP1.2で作成する人にオススメ。
とても参考になります。

まるごとPHP!(vol.2)

安藤さんの解説が載っています。
AmazonのPagination部分は参考になります。

CakePHPによるWebアプリケーション開発

まだ読んだことありません

CakePHPポケットリファレンス
CakePHPポケットリファレンス
CakePHP1.2 でやるなら、これがあると何かと便利♪

CakePHP徹底入門
CakePHP徹底入門
CakePHP1.2 を今から始めるならここから

Fast CakePHP
Fast CakePHP
シンプルでわかりやすい CakePHP の入門書

CakePHPガイドブック
CakePHPガイドブック
CakePHP1.1 ではとても参考にした CakePHP 最初の入門書

検索

XMLフィード

16ブログ     powered by b2evolution