カレンダー

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

ありがたい。

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 さん、ありがとうございます。

広告

About sato_c

小学生の頃にインベーダーゲームやPC-8001やApple][といったものを知ってしまい、それ以降ずーっとゲーム好き。でも、あんまりうまくはありません。 仕事は当初はゲーム関係のプログラムやサウンドをやっていましたが、WEB関係を通ったあと、遊技機関係のプログラムやサウンドをやっています。あまり節操がないのか。 現在はJavaですてきなコードを書けるように勉強中。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。