● 月曜始まりカレンダー@MT3.3版(テストしてません)
# 月曜始まりカレンダー@MT3.2版はこちら。
先に言っときますが、管理人はまだテストしてません。まぁ間違い無いとは思うけど……。
書き換える箇所は以下の通りですが、必ずバックアップを取ってから行ってください。
[MT directory] /lib/MT/Template/ContextHandlers.pm3168〜3171行目
my $days_in_month = days_in($m, $y);
my $pad_start = wday_from_ts($y, $m, 1);
my $pad_end = 6 - wday_from_ts($y, $m, $days_in_month);
my $iter = MT::Entry->load_iter({ blog_id => $blog_id,赤字部分を以下青字部分に置き換えます。
my $days_in_month = days_in($m, $y);
my ($sdow);
$sdow = 0 unless ($sdow = $args->{sdow});
my $pad_start = (wday_from_ts($y, $m, 1) + 7 - $sdow) % 7;
my $pad_end = 6 - (wday_from_ts($y, $m, $days_in_month) + 7 - $sdow) % 7;
my $iter = MT::Entry->load_iter({ blog_id => $blog_id,
で、元の場所にアップロード。
それから、各テンプレートのカレンダー表示箇所を下記のように書き換えます。小粋空間さんのテンプレートを例として挙げてますが、公式始めほとんどのテンプレートはこんな感じのソースだと思われ。
カレンダーを表示したい各テンプレート<table summary="投稿した日にリンクする月別のカレンダー">
<caption class="calendarhead"><$MTDate format="%B %Y"$></caption>
<tr>
<th abbr="Sunday"><span class="calendar"><span class="red">Sun</span></span></th>
<th abbr="Monday"><span class="calendar">Mon</span></th>
<th abbr="Tuesday"><span class="calendar">Tue</span></th>
<th abbr="Wednesday"><span class="calendar">Wed</span></th>
<th abbr="Thursday"><span class="calendar">Thu</span></th>
<th abbr="Friday"><span class="calendar">Fri</span></th>
<th abbr="Saturday"><span class="calendar"><span class="blue">Sat</span></span></th>
</tr><MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>赤字部分を下記青字部分のように書き換えます。
<table summary="投稿した日にリンクする月別のカレンダー">
<caption class="calendarhead"><$MTDate format="%B %Y"$></caption>
<tr>
<th abbr="Monday"><span class="calendar">Mon</span></th>
<th abbr="Tuesday"><span class="calendar">Tue</span></th>
<th abbr="Wednesday"><span class="calendar">Wed</span></th>
<th abbr="Thursday"><span class="calendar">Thu</span></th>
<th abbr="Friday"><span class="calendar">Fri</span></th>
<th abbr="Saturday"><span class="calendar"><span class="blue">Sat</span></span></th>
<th abbr="Sunday"><span class="calendar"><span class="red">Sun</span></span></th>
</tr><MTCalendar sdow="1">
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
なお、月曜以外の曜日から始まるカレンダーも簡単に作れます。
Sky's The Limit: カレンダーを月曜始まりに より引用
http://blog.skys.jp/archives/200404/12-1643.phpちなみに、<MTCalendar sdow="1">の「sdow」の値を変えることで月曜始まり以外にもすることができます。値を
0=Sun, 1=Mon, 2=Tue, 3=Wen, 4=Thu, 5=Fri, 6=Sat, 7=Sun
とすればそれぞれの曜日から始めることができます。もちろんその際は始める曜日に合わせて、<th abbr=... >部分の配置(順番)を入れ換える必要があります。
※sdow: Starting Day Of the Week
人柱募集中www







コメント
きのう、saz◆saz/F4.O5sはここまで投稿するはずだった。
Posted by: BlogPetの(・∀・) | September 13, 2006 11:04