MT覚え書き:月送り画像表示横型カレンダー

■このエントリーはMTを使っていた頃の覚え書きです■

今までサイドバーに表示させて使っていた月送りカレンダーを横型カレンダーに変更してみました。

小粋空間」さんの、
月送りカレンダー(横型・リアルタイム版)”と、
リアルタイムカレンダー(画像表示版)”を参考にさせていただきました。
※要PHP

まずは、管理メニューから、「テンプレート」、「アーカイブに関連したテンプレート」の「新しいアーカイブ・テンプレートを作る」をクリック。

テンプレートの名前:横型カレンダー(例)
テンプレートの中身は↓

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1./ Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
<link rel="stylesheet" href="<$MTBlogURL$>calendar.css" type="text/css" />

<MTBlogIfCCLicense>
<$MTCCLicenseRDF$>
</MTBlogIfCCLicense>

</head>
<body >

<div class="calendar">

<span class="calendarHead">
<MTArchivePrevious>
<a href="<MTBlogURL>archives/calendar/<MTArchiveDate format="%Y/%m/index">.php"><</a>
</MTArchivePrevious>
<$MTArchiveDate format="%B %Y" language="en"$>
<MTArchiveNext>
<a href="<MTBlogURL>archives/calendar/<MTArchiveDate format="%Y/%m/index">.php">></a>
</MTArchiveNext>/
</span>

<?php $day = date(j); $year = date(Y); $month = date(m); ?>
<MTCalendar month="this">
<MTCalendarIfEntries>
<?php $y="<$MTCalendarDate format='%Y'$>"; $m="<$MTCalendarDate format='%m'$>"; $d="<$MTCalendarDay$>"; if($year == $y && $month == $m && $day == $d) { $style = "today"; } else { $style = "notoday"; } ?>
<span class="<?php print "$style"; ?>">
<MTEntries lastn="1">
<a href="<$MTEntryLink archive_type="Daily"$>" target="_top"> <$MTCalendarDay$></a>
</MTEntries>
</MTCalendarIfEntries>
<MTCalendarIfNoEntries>
<?php $y="<$MTCalendarDate format='%Y'$>"; $m="<$MTCalendarDate format='%m'$>"; $d="<$MTCalendarDay$>"; if($year == $y && $month == $m && $day == $d) { $style = "today"; } else { $style = "notoday"; } ?>
<span class="<?php print "$style"; ?>">
<$MTCalendarDay$>
</MTCalendarIfNoEntries>
</span>
</MTCalendar>
</div>

</body>
</html>

で、保存。

次に、上で作ったカレンダー専用のスタイルシートを作ります。
管理メニューから「テンプレート」、「インデックス・テンプレート」の「新しいインデックス・テンプレートを作る」をクリック。

テンプレートの名前:横型カレンダー用スタイルシート(例)
出力ファイル名:calendar.css
テンプレートの中身は↓

a,
a:link,
a:visited,
a:active {
color: #8FABBE;
background: none;
}

a:hover {
color: #006699;
background: underline;
}

.calendar {
margin-top: 5px;
margin-bottom: 5px;
text-align: center;
}

.calendarHead {
color:#666666;
font-size: 11px;
font-weight: normal;
font-family: Verdana, Arial, sans-serif;
padding-right: 5px;
}

.notoday {
color:#666666;
font-size: 11px;
font-family: Verdana, Arial, sans-serif;
}

.today {
color:#666666;
font-size: 11px;
font-family: Verdana, Arial, sans-serif;
border : 1px solid #999999;
}

で、保存。
(小粋さんテンプレートにあわせて作ってあると思われるので自サイトのデザインによっては修正してみてください)

次に、上で作ったテンプレートを月別に関連づけします。

管理メニューから「ウェブログの設定(設定)」、「アーカイブの設定」ページの
「新しく、テンプレートとアーカイブを関連付ける。」で以下を設定します。

アーカイブの種類:月別
テンプレート:横型カレンダー(例)をプルダウンから選択後「追加」をクリック。

次にその下の「アーカイブ」の「月別」に先ほどの「横型カレンダー(例)」が追加されているので、
そのテキストボックスに、

<$MTArchiveDate format="calendar/%Y/%m/index.php"$>

を記入。そして設定を保存。

そして、カレンダーを表示させたい各テンプレートに、

<div id="globalnavi">
<iframe name="cal-iframe" src="<MTBlogURL>archives/calendar/<MTDate format="%Y/%m/index">.php" width="698" height="19" scrolling="NO" frameborder="0" marginwidth="0" marginheight="0">
</iframe>
</div>

を追加します。デザインによっては”width="698" height="19"”の部分を修正。
またはインクルードでもいいかも。
そして、今まで使っていたサイドバーのカレンダーは削除かコメントアウト。

で、メインのスタイルシート(さっき作ったやつとは別の最初にある方)に、

#globalnavi {
padding-bottom: 5px;
border-bottom : 1px solid #666699;
}

を追加。(好みによっては修正)
で、とりあえず、全てを再構築して、確認してきちんと動いていれば完了(^_^)b

で。。。
欲が出て、今日に画像を表示させたくて、
リアルタイムカレンダー(画像表示版)”の「2.月送りカレンダー」を参考に小粋さんのスタイルシートを生かしながら自己流で合体修正。。。(ちょっと不安)

最初に作ったテンプレートを、

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1./ Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
<link rel="stylesheet" href="<$MTBlogURL$>calendar.css" type="text/css" />

<MTBlogIfCCLicense>
<$MTCCLicenseRDF$>
</MTBlogIfCCLicense>

</head>
<body >

<div class="calendar">
<span class="calendarHead">
<MTArchivePrevious>
<a href="<MTBlogURL>archives/calendar/<MTArchiveDate format="%Y/%m/index">.php"><</a>
</MTArchivePrevious>
<$MTArchiveDate format="%B %Y" language="en"$>
<MTArchiveNext>
<a href="<MTBlogURL>archives/calendar/<MTArchiveDate format="%Y/%m/index">.php">></a>
</MTArchiveNext>/
</span>
<?php
$day = date(j);
$year = date(Y);
$month = date(m);
$img = "<$MTBlogURL$>画像のURL";
?>
<MTCalendar month="this">
<span class="notoday">
<MTCalendarIfEntries>
<?php
$y="<$MTCalendarDate format='%Y'$>";
$m="<$MTCalendarDate format='%m'$>";
$d="<$MTCalendarDay$>";
?>
<MTEntries lastn="1">
<a href="<$MTEntryLink archive_type="Daily"$>" target="_top">
<?php
if($year == $y && $month == $m && $day == $d) {
print "<img src="" . $img . "" align="top" border="0" />";
} else {
print $d;
}
?>
</a>
</MTEntries>
</MTCalendarIfEntries>
<MTCalendarIfNoEntries>
<?php
$y="<$MTCalendarDate format='%Y'$>";
$m="<$MTCalendarDate format='%m'$>";
$d="<$MTCalendarDay$>";
if($year == $y && $month == $m && $day == $d) {
print "<img src="" . $img . "" align="top" />";
} else {
print $d;
}
?>
</MTCalendarIfNoEntries>
</span>
</MTCalendar>
</div>

</body>
</html>


$img = "<$MTBlogURL$>画像のURL";

は画像のURLに変更する。

修正して再構築後確認したけど、たぶん完了。
ありがとうございました。

Comment

Post a comment
















管理者にだけコメントをわたす。

 

Trackback

Trackback Pings

※この記事に関係の無いトラックバックは削除させていただきます。
FC2ブログユーザーは”こちら”をクリック。

このエントリーのURL
 

copyright © 武州屋 all rights reserved. Powered by FC2ブログ.ホームページ アフィリエイト レンタルサーバー FC2ブログ