MovableType
指定月・年間カレンダーを表示する方法
Loopタグかforタグを使う
Movable Type ユーザーコミュニティに質問がありましたので、ご回答いたします。
指定月を表示する
SetHashVar タグで、表示したい月を指定しています。 サンプルでは2019年03月と2019年4月を指定しました。
<mt:SetHashVar name="Calendars">
<mt:SetVarBlock name="1"><mt:Date format="%Y">03</mt:SetVarBlock>
<mt:SetVarBlock name="2"><mt:Date format="%Y">04</mt:SetVarBlock>
</mt:SetHashVar>
作成した日付リストのCalendarsをMTLoopタグで出力します。
値はMTCalendarタグのmonthモディファイアに指定します。
表示中のカレンダータイトルは、MTDateタグで行います。
<mt:Loop name="Calendars">
<h3><mt:Date ts="$__value__" format="%Y年%m月"></h3>
<table>
<tr>
<th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th>
</tr>
<mt:Calendar month="$__value__">
<mt:CalendarWeekHeader><tr></mt:CalendarWeekHeader>
<td>
<mt:CalendarIfToday><strong></mt:CalendarIfToday>
<mt:CalendarIfEntries>
<mt:Entries lastn="1">
<a href="<$mt:EntryPermalink$>"><$mt:CalendarDay$></a>
</mt:Entries>
</mt:CalendarIfEntries>
<mt:CalendarIfNoEntries>
<$mt:CalendarDay$>
</mt:CalendarIfNoEntries>
<mt:CalendarIfToday></strong></mt:CalendarIfToday>
<mt:CalendarIfBlank> </mt:CalendarIfBlank>
</td>
<mt:CalendarWeekFooter></tr></mt:CalendarWeekFooter>
</mt:Calendar>
</table>
</mt:Loop>
年間カレンダーを表示する
MTForタグで1年の月の数(12)を繰り返し、今の日付+月の条件を作成し、Calendarタグのmonthモディファイアに設定します。
表示中のカレンダータイトルは、MTDateタグで行います。
<mt:For var="i" from="1" to="12">
<mt:SetVarBlock name="Calendar"><mt:Date format="%Y"><mt:Var name="i" zero_pad="2"></mt:SetVarBlock>
<h3><mt:Date ts="$Calendar" format="%Y年%m月"></h3>
<table>
<tr>
<th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th>
</tr>
<mt:Calendar month="$Calendar">
<mt:CalendarWeekHeader><tr></mt:CalendarWeekHeader>
<td>
<mt:CalendarIfToday><strong></mt:CalendarIfToday>
<mt:CalendarIfEntries>
<mt:Entries lastn="1">
<a href="<$mt:EntryPermalink$>"><$mt:CalendarDay$></a>
</mt:Entries>
</mt:CalendarIfEntries>
<mt:CalendarIfNoEntries>
<$mt:CalendarDay$>
</mt:CalendarIfNoEntries>
<mt:CalendarIfToday></strong></mt:CalendarIfToday>
<mt:CalendarIfBlank> </mt:CalendarIfBlank>
</td>
<mt:CalendarWeekFooter></tr></mt:CalendarWeekFooter>
</mt:Calendar>
</table>
</mt:For>