14-2 Ajax月送りカレンダー
273ページ
「HTMLヘッダー」テンプレートモジュール
<script type="text/javascript" src="<mt:StaticWebPath />jquery/jquery.min.js"></script>
<script type="text/javascript" src="<mt:BlogURL />ajaxCalendar_jquery.js"></script>
<script type="text/javascript" src="<mt:BlogURL />dayChecker.js"></script>
「カレンダー」アーカイブテンプレート
<div class="widget-calendar widget">
<h3 class="widget-header">
<mt:ArchivePrevious>
<a href="javascript:void(0);" onclick="changeMonth('<mt:BlogArchiveURL />
<mt:ArchiveDate format="calendar/%Y/%m/%i" />');"><</a>
</mt:ArchivePrevious>
<mt:ArchiveDate format="%B %Y" />
<mt:ArchiveNext>
<a href="javascript:void(0);" onclick="changeMonth('<mt:BlogArchiveURL />
<mt:ArchiveDate format="calendar/%Y/%m/%i" />');">></a>
</mt:ArchiveNext>
</h3>
<div class="widget-content">
<table summary="<mt:ArchiveDate format="%Y/%m" />">
<thead>
<tr height="15">
<th abbr="Sunday" class="sunday">Sun</th><th abbr="Monday">Mon</th><th abbr="Tuesday">Tue</th><th abbr="Wednesday">Wed</th><th abbr="Thursday">Thu</th><th abbr="Friday">Fri</th><th abbr="Saturday" class="saturday">Sat</th>
</tr>
</thead>
<tbody>
<mt:Calendar month="this">
<mt:CalendarWeekHeader>
<tr>
</mt:CalendarWeekHeader>
<td><mt:CalendarIfBlank><mt:Else><span></mt:CalendarIfBlank><mt:CalendarIfEntries><mt:Entries lastn="1"><a href="<mt:EntryLink archive_type="Daily" />"><mt:CalendarDay /></a></mt:Entries></mt:CalendarIfEntries><mt:CalendarIfNoEntries><mt:CalendarDay /></mt:CalendarIfNoEntries><mt:CalendarIfBlank><mt:Else></span></mt:CalendarIfBlank></td>
<mt:CalendarWeekFooter>
</tr>
</mt:CalendarWeekFooter>
</mt:Calendar>
</tbody>
</table>
</div>
</div>
274ページ
「カレンダー」ウィジェットテンプレート
<div id="calendar"></div>
<script type="text/javascript">
//<![CDATA[
getCalendar("<mt:BlogArchiveURL /><mt:Entries lastn="1" sort_order="descend"><mt:EntryDate format="calendar/%Y/%m/" /></mt:Entries>", "<mt:BlogID />");
//]]>
</script>
「スタイルシート」インデックステンプレート
#calendar {
margin: 5px 0 10px;
color: #444444;
}
#calendar table {
padding: 0;
border-collapse: collapse;
}
#calendar th {
padding-bottom: 3px;
text-align: center;
font-size: 10px;
width: 23px;
}
#calendar td {
padding: 2px 0;
text-align: center;
font-size: 12px;
line-height: 120%;
}
.widget-calendar .widget-content td.today {
display: block;
width: 100%;
border: 1px solid #444444;
}
.sunday, .holiday, .holiday a:link, .holiday a:visited {
color: #e50003;
}
.saturday, .saturday a:link, .saturday a:visited {
color: #0000ff;
}
275ページ
「カレンダー」ウィジェットテンプレート
<div id="calendar"></div>
<script type="text/javascript">
//<![CDATA[
<mt:Date format="%Y/%m" setvar="current_date" />
<mt:SetVar name="flag" value="0" />
<mt:ArchiveList archive_type="Monthly">
<mt:unless name="flag">
<mt:ArchiveDate format="%Y/%m" setvar="archive_date" />
<mt:if name="archive_date" le="$current_date">
getCalendar("<mt:BlogArchiveURL />calendar/<mt:GetVar name="archive_date" />", <mt:BlogID />");
<mt:SetVar name="flag" value="1" />
</mt:if>
</mt:unless>
</mt:ArchiveList>
//]]>
</script>
「カレンダー」アーカイブテンプレート
...前略...
<mt:ArchiveNext>
<mt:Date format="%Y%m" setvar="current_date" />
<mt:ArchiveDate format="%Y%m" setvar="archive_date" />
<mt:if name="archive_date" le="$current_date">
<a href="javascript:void(0);" onclick="changeMonth('<mt:BlogArchiveURL /><mt:ArchiveDate format="calendar/%Y/%m/%i" />');">></a>
</mt:if>
</mt:ArchiveNext>
...後略...
276ページ
「カレンダー」ウィジェットテンプレート
<div id="calendar"></div>
<script type="text/javascript">
<mt:if name="archive_class" like="monthly|daily">
getCalendar("<mt:BlogArchiveURL />calendar/<mt:ArchiveDate format="%Y/%m/" />", "<mt:BlogID />");
<mt:elseIf name="archive_class" like="weekly|yearly">
getCalendar("<mt:BlogArchiveURL />calendar/<mt:Date format="%Y/%m/" />", "<mt:BlogID />");
<mt:elseIf name="entry_archive">
getCalendar("<mt:BlogArchiveURL />calendar/<mt:EntryDate format="%Y/%m/" />", "<mt:BlogID />");
<mt:else>
<mt:Date format="%Y/%m" setvar="current_date" />
<mt:SetVar name="flag" value="0" />
<mt:ArchiveList archive_type="Monthly">
<mt:unless name="flag">
<mt:ArchiveDate format="%Y/%m" setvar="archive_date" />
<mt:if name="archive_date" le="$current_date">
getCalendar("<mt:BlogArchiveURL />calendar/<mt:GetVar name="archive_date" />", "<mt:BlogID />");
<mt:SetVar name="flag" value="1" />
</mt:if>
</mt:unless>
</mt:ArchiveList>
</mt:if>
</script>