読者です 読者をやめる 読者になる 読者になる

むずかしいことはわかりません

いろいろ書いてるみたいな

カレンダー

カレンダー出力したいなと思って、なんかないかなと検索したところ見つけました。
ありがたい。

http://d.hatena.ne.jp/solitary_shell/20090227/1235705193

ついでに、ちょっと手を入れて日付ごとにリンクを張れるように追加。

関数の宣言を書き換え

    function makeCalendar($lang = null, $date = null, $link = null) {
    function _makeCalendarContent($year, $month, $selectedDay, $link = null) {

elementsへarray_pushしてるところを書き換え

$daylink = sprintf ( '<a href="%s/%s-%s-%s">', Htmlhelper::Url($link), $year, $month, $day['day'] );
$dayline = sprintf ( '<td class="week_%s %s">%s%s%s</td>',
			strtolower($this->_week[$this->_defaultLang][$colIdx]),
			implode(" ", $day['attribute']),
			is_null($link) ? '' : $daylink,
			$day['day'],
			is_null($link) ? '' : '</a>'
		);
array_push( $elements, $dayline );

linkの生成には、Smartyで使うために内部でHTMLヘルパー呼び出してますが、そのまま使うなら引数はなんでもいいかもしれません。

$calendar->makeCalendar('ja',null,Array('action'=>'view'))

id:solitary_shell さん、ありがとうございます。