<<Home

Backyard

Yet the earth does move


Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/e24148-1/public_html/weblog/archives/2004/09/post_20.php on line 123

Warning: include(http://bluish.cside.com/weblog//sidebar.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/e24148-1/public_html/weblog/archives/2004/09/post_20.php on line 123

Warning: include() [function.include]: Failed opening 'http://bluish.cside.com/weblog//sidebar.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/e24148-1/public_html/weblog/archives/2004/09/post_20.php on line 123

September 25, 2004

カレンダーの背景

blogサイトでよく見られるカレンダー、
今日のところに色を付けるにはどうすれば?というところから
テンプレートいじりが始まりました。

あまりにも思い通りにならず
消しちゃおうかとも一時考えたのですが...

最初に参考にさせていただいたのが「BLOG質問箱」さんの記事。しかし
こちらのやり方だと「今日」ではなく、記事を投稿したり
再構築をした日だけハイライトされることが判明・・・

どうもカレンダーを動的にハイライトさせるには、
カレンダーの載ってるページをphpにしなければならないようです。
ここで一時「php?ワケワカラン...」と尻込みしてしまったのですが、
「MovableTypeを攻略せよ!」さんの記事によると、要は拡張子を変更すればよいみたい....。
ということで、おそるおそる挑戦。

mt.cgiにログインして
メインメニュー > backyard > テンプレート > Main Indexと開いてゆき
「出力ファイル名」のところを「index.html」から「index.php」に変更。
ついでにMaster Archive Indexのテンプレートも「archives.php」に、
アーカイブの拡張子も設定ページで「php」にしてしまいました。
(のちにアーカイブページを分割させるのに必要だったので)
最後にサーバに残っているhtmlファイルを消去します。

これでやっとカレンダー部分にとりかかることに....
こちらは「kamishiro.net」さんの記事と、付属コメントなどを参考にさせていただきました。

最終的にMain Index内の<MTCalender> タグは以下のようになってます。

<MTCalendar>
<?php $date = date(Ymd);?>
<MTCalendarWeekHeader>
<tr>
</MTCalendarWeekHeader>
<td align="center" class="calendar" >
<MTCalendarIfEntries><MTEntries lastn="1">
<?php $d="<$MTCalendarDay$>"; if($date == "<$MTCalendarDate format="%Y%m%d"$>")$d ="<span class = today>$d</span>";?>
<a href="<$MTEntryPermalink$>"><?php print " $d ";?></a>
</MTEntries></MTCalendarIfEntries>
<MTCalendarIfNoEntries>
<?php $d="<$MTCalendarDay$>"; if($date == "<$MTCalendarDate format="%Y%m%d"$>")$d ="<span class = today>$d</span>";?>
<?php print " $d " ;?>
</MTCalendarIfNoEntries>
<MTCalendarIfBlank></MTCalendarIfBlank>
</td>
<MTCalendarWeekFooter>
</tr>
</MTCalendarWeekFooter>
</MTCalendar>

で、スタイルシートには

.today {
background-color: #d9d9c7;
}

と記述して、今日の数字の背景色を変えました。
これで日々エントリーがなくても動いてるみたいです。

phpに変更といっても、結局何も理解していないまま^^;
参考サイトさま、この場をお借りしてお礼申し上げます(直接じゃなくてすみません...)

by pikari : 15:50

Comments

さっすっがっぁぁぁぁぁぁ!!!!!!!!!

pikariサマ♪
救世主ですわっ!!
"今日"を確実にエフェクトするにはphpにしなくては
いけないというトコロまでは分かったのですが、、、
ソコから先が分からなくて、、、結構調べてみたのですが、、、
やはり分からなくて、、、、まさに!!
救世主!!すっかりコピペさせていただきました☆
マジでカレンダーとっぱらっちゃおうと思ってました。
"今日"の部分が違うだけで必要な感じに見えてくるから
不思議ですね~!!

本当に助かりました♪
今度また、壁に当たって動けなくなったら
質問させていただいてよろしいでしょうか?

Posted by グリ : September 25, 2004 9:46 PM

やや、グリ様
ちょっとでもお役に立てたのでしたら嬉しいです。
私も判らないことだらけなんです
参考サイト様を紹介しただけですし^^;;
スタイルシートはもの凄いことになってますし
CSSより先にhtmlタグを勉強しなきゃって感じです。
(あ、上記のタグ、改行があまりきれいでなかったので
少し見やすくしました)
こういったタグを書けてしまう方を尊敬しながら
ちょっとずつ変化をつけて遊んでます。

Posted by pikari : September 26, 2004 1:32 AM

きゃぁ♪
pikaさまっ!

これ そのまま使わせて下さいませっ♪
もう、わかんないから やめとこと思ったんですけど、
やっぱり、今日がハイライトされてるのは、自分で
うれしいので よろしくです。

サイトの更新記録や ムービー作成メモと創ったときの
気分なんてのに とっても便利だなぁと思い始めたので、
日記や書き物は苦手だけれど、それようにして
サイトにおこうかと思っております。^^

Posted by hatena : October 12, 2004 10:17 PM