テンプレートによるカレンダーの作成

ブロックタグ「mt:calendar」を使うと、カレンダーを作成することができます。

カレンダーを出力するテンプレートの例

カレンダーを出力するテンプレートの例を示します。当該の日に記事が存在する場合にリンクを作成するため、あらかじめモデル「記事」に対する「日別アーカイブ」を設定しておき、出力URLを「<mt:archivedate format="Ymd">.html」に設定します。

<mt:calendar month="201810">
<mt:if name="__first__">
  <table class="table">
    <tr><mt:loop name="__week__"><th><mt:var name="__value__" translate></th></mt:loop></tr>
</mt:if>
  <mt:if name="__week_header__">
    <tr>
  </mt:if>
      <td>
        <mt:if name="__value__">
        <mt:if tag="entriescount">
          <a href="/daily/<mt:archivedate format="Ymd">.html">
        </mt:if>
          <mt:var name="__value__">
        <mt:if tag="entriescount">
          </a>
        </mt:if>
        </mt:if>
      </td>
  <mt:if name="__week_footer__">
    </tr>
  </mt:if>
<mt:if name="__last__">
  </table>
</mt:if>
</mt:calendar>

PowerCMS との違い

  • mt:calendarweekheader / mt:calendarweekfooter / mt:calendarifnoentries などのブロックタグ(条件タグ)はありません。代わりに予約変数を利用してください。

ブロックタグ

calendar

カレンダーを出力します。

タグ属性

  • month(月名またはthis(今月)、last(先月)) ※省略した場合は現在のコンテキストのタイムスタンプが使われます

予約変数

ループの回数/週の区切りなどに応じて自動的に以下の変数がセットされます。

  • __first__ : ループの初回
  • __last__ : ループの最終回
  • __odd__ : ループの奇数回
  • __even__ : ループの偶数回
  • __counter__ : ループのカウンター
  • __index__ : ループのカウンター(0から始まる)
  • __total__ : セルの数
  • __week__ : Sunday〜Saturdayまでの配列
  • __year__ : 年
  • __month__ : 月(2桁)
  • __date__(__value__) : 日付(1桁または2桁)
  • __week_number__(__key__) : 0(日曜日)〜6(土曜日)の数字
  • __day_of_week__ : Sunday〜Saturdayまでの曜日名の文字列
  • __timestamp__ : YmdHis形式のタイムスタンプ
  • __week_header__: 一週間の最初(日曜日の時)
  • __week_footer__: 一週間の終わり(土曜日の時)