« 仕事しようとしたら解除された。 | Index | カレンダーの改造その2。 »

October, 22 2005 13:03

# 月曜始まりカレンダー@MT3.3版(テストしてませんw)はこちら。

 以前も↓を参考にカレンダーを月曜始まりにしてたんですが(「日曜で週が終わる」っつー業界なので、凄く違和感があるので)、

   Sky's The Limit: カレンダーを月曜始まりに
   http://blog.skys.jp/archives/200404/12-1643.php

 ふと気付いたらContext.pmの書き換えを忘れてて、今日が日曜日になってました (;´Д`) んでContext.pmを掘り出して開いたところ、上記記事でShinさんが書かれていた書き換え該当箇所が無い。ちょっと必死こいて探してみました。そしたらありましたー。現在のココのカレンダー参照。
 やり方は以下の通り。3.2版と書きましたが、ココは3.2-ja-2ですので3.2以降てのが正しいかも。

[MT directory] /lib/MT/Template/ContextHandlers.pm

2456〜2459行目

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,

 それから、カレンダーを表示したい各テンプレート(Main index等)のカレンダー表示部分を書き換え。(うちは小粋空間さんのテンプレートを使ってますのでそのまま表示しますが、他もそんなに変わらないと思う)

カレンダーを表示したい各テンプレート

<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>

 リンク先から引用させて頂きますと、

ちなみに、<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

 あーやっとすっきりした。w どうも日曜始まりは落ち着かないっす。

www.dff.jp
毎日新聞問題の情報集積wiki
CAT★MANIA
Team(・∀・)2ch
アクセストレード
アフィリエイトはアクセストレード
楽天市場
楽天市場
LENS MODE
LENS MODE
アテニア化粧品
ねいる屋さん
携帯グッズ専門店のストラップヤ本店
携帯グッズ専門店のストラップヤ楽天市場店
秋葉館オンラインショップ
インプレスダイレクト
インプレスダイレクト:リットーミュージックスクウェア
インプレスダイレクト:RittorMusic
アイ・ビューティーストアー
≪女優肌≫マードゥレクスオンライン
≪女優肌≫マードゥレクスオンライン:スキンケアトライアル
【ネット限定販売】幻の日本酒 吟醸『熊鯨』
楽天デリバリー
コスメマート
エコバッグ専門店【エコバッグstyle】
TokiwaStyle:舞妓はんシリーズ
TokiwaStyle:ノエビアグループ常盤薬品のオンラインショップ
TokiwaStyle:眠眠打破
nudymore
nudymore:トライアルセット
www.dff.jp
毎日新聞問題の情報集積wiki
CAT★MANIA
Team(・∀・)2ch
アクセストレード
アフィリエイトはアクセストレード
楽天市場
楽天市場
LENS MODE
LENS MODE
アテニア化粧品
ねいる屋さん
携帯グッズ専門店のストラップヤ本店
携帯グッズ専門店のストラップヤ楽天市場店
秋葉館オンラインショップ
インプレスダイレクト
インプレスダイレクト:リットーミュージックスクウェア
インプレスダイレクト:RittorMusic
アイ・ビューティーストアー
≪女優肌≫マードゥレクスオンライン
≪女優肌≫マードゥレクスオンライン:スキンケアトライアル
【ネット限定販売】幻の日本酒 吟醸『熊鯨』
楽天デリバリー
コスメマート
エコバッグ専門店【エコバッグstyle】
TokiwaStyle:舞妓はんシリーズ
TokiwaStyle:ノエビアグループ常盤薬品のオンラインショップ
TokiwaStyle:眠眠打破
nudymore
nudymore:トライアルセット

トラックバックURL


コメント

Sky's The Limit の Shin です。トラックバックありがとうございます。
お役にたててうれしいです。

・・・というかなるほど!、3.2では(もしかしたらその前からかも)コードが結構変わっているんですね。
あのエントリを書いたあと、バージョンアップした際にめんどくさくって日曜始まりのままにしていたんですが(実際はあまり使わないのでカレンダー自体をサイドバーのすごい下の方にしちゃってたり)、今度バージョンアップする際には、こちらを参考にさせていただきます!(^^)
このエントリに追記でこちらを紹介させていただきたいので、よろしくお願いいたします。

MTも、バージョンアップしようと思うと、次のバージョンのアナウンスがあったりして、追いついていけてません(^^;;

>Shinさん
おおお、これはどうもありがとうございます。
参考になれば、って程度でトラバ送ったんでビビりました (;´Д`) 光栄です。
でも多分3.2以降だと思いますよ>コード変更
うちも3.2にした途端、テンプレートが月曜始まりなのに1日ズレるって現象が起きたので。
アップグレードしたらlib/MT/Template/にファイルが2つある! とビビったのでした。

お陰様で、月送りでリアルタイムで月曜始まりな贅沢カレンダーになりましたw
ありがとうございます。

コメントする