イベントカレンダープラグイン(その7・イベントカレンダーの静的出力)

イベントカレンダープラグインでは、特定月のイベントを、MTCalendarタグと同様のテンプレートの書き方で、カレンダーに出力することができます。

1.MTEventCalendarタグ

イベントカレンダーを静的に出力するには、MTEventCalendarというブロックタグを使います。
ブロックの中では、MTCalendarタグと同じテンプレートタグを使うことができます。

また、以下のモディファイアを指定することができます。

モディファイア内容
month="this"再構築したときの月のカレンダーを出力します。
month="next"再構築したときの来月のカレンダーを出力します。
month="last"再構築したときの前月のカレンダーを出力します。
month="YYYYMM"YYYY年MM月のカレンダーを出力します。
例えば、「month="201404"」とすると、2014年4月のカレンダーを出力します。
type="start_date"イベント開始日時に基づいたカレンダーを出力します(詳細は後述)

2.MTEventCalendarタグとMTEntriesタグの組み合わせ

MTEventCalendarタグのブロックの中でMTEntriesタグを使って、それぞれの日のイベント一覧を出力することができます。
その際に、複数日にまたがるイベントは、そのそれぞれの日に出力します。

例えば、開始日が2014年4月10日で、終了日が2014年4月15日のイベントがあるとします。
MTEventCalendarタグでは、このイベントは4月10日~4月15日のそれぞれに出力されます。

3.typeモディファイア

MTEventCalendarタグの通常の動作では、「カレンダーの月に開催期間が含まれるイベント」を出力します。
例えば、2014年4月のカレンダーの場合、以下のいずれかの条件を満たすイベントを出力します。

  • 開始日が2014年4月1日~30日に入っている
  • 終了日が2014年4月1日~30日に入っている
  • 開始日が2014年4月より前で、終了日が2014年4月より後

ただ、場合によっては、「イベントの開始日が○○年□□月」というイベントだけを出力したいこともあります。
その場合は、MTEventCalendarタグに「type="start_date"」のモディファイアを指定します。

4.タグの組み方の例

カレンダーを出力し、それぞれの日にその日のイベントの一覧を出力する場合、以下のようにタグを組みます。

<table>
  <tr><th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th></tr>
<mt:EventCalendar>
  <mt:CalendarWeekHeader><tr></mt:CalendarWeekHeader>
  <td>
  <mt:CalendarIfBlank>
  <mt:Else>
    <$mt:CalendarDay$>
    <mt:Entries>
      <mt:EntriesHeader><ul></mt:EntriesHeader>
      <li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li>
      <mt:EntriesFooter></ul></mt:EntriesFooter>
    </mt:Entries>
  </mt:CalendarIfBlank>
  </td>
  <mt:CalendarWeekFooter></tr></mt:CalendarWeekFooter>
</mt:EventCalendar>
</table>