今日以降の2ヶ月分(今月と来月)のイベント情報を表示する、みたいなお題があって
ちょっとやってみた。なんかちょーダサダサなコードかもですがメモしておくー。
<ポイント>
<mt:SetVar name="after_today" value="0"><!--今日以降かの判定フラグを初期化--> <!-- === サブルーチンみたいなもん === --> <mt:SetVarTemplate name="MonthlyEvent"> <div> <mt:Calendar month="$this_ym"> <mt:CalendarIfToday> <!-- 今日だったらフラグis_todayに"1"をセット --> <mt:SetVar name="after_today" value="1"> </mt:CalendarIfToday> <mt:If name="after_today" eq="1"> <!-- 今日以降なら --> <mt:CalendarIfEntries> <mt:Entries> <p><$mt:CalendarDate format="%x"$> <$mt:EntryTitle$></p> </mt:Entries> </mt:CalendarIfEntries> </mt:If> </mt:Calendar> </div> </mt:SetVarTemplate> <!-- 再構築日(≒今日)の年月をyyyymmフォーマットで取得 --> <mt:Date format="%m" setvar="this_month"> <mt:Date format="%Y" setvar="this_year"> <mt:Date format="%Y%m" setvar="this_ym"> <h2>今月</h2> <p>this_year:<mt:GetVar name="this_year"></p> <p>this_month:<mt:GetVar name="this_month"></p> <p>this_year_month: <mt:GetVar name="this_ym"></p> <mt:GetVar name="MonthlyEvent"> <!--来月の処理--> <mt:If name="this_month" eq="12"> <mt:SetVar name="this_month" value="01"> <mt:SetVar name="this_year" op="++"> <mt:Else> <mt:SetVar name="this_month" op="++"> </mt:If> <mt:SetVarBlock name="this_ym"><mt:GetVar name="this_year"><mt:GetVar name="this_month" zero_pad="2"></mt:SetVarBlock> <h2>来月</h2> <p>this_year:<mt:GetVar name="this_year"></p> <p>this_month:<mt:GetVar name="this_month"></p> <p>this_year_month: <mt:GetVar name="this_ym"></p> <mt:GetVar name="MonthlyEvent">
7月 12th, 2010 at 12:11 AM
[...] 前回、「[MT]今日以降の2ヶ月分のエントリー一覧を表示する」で、 * 今日以降のエントリーを * 月ごとに表示する のを試してみた。発展系でさらに、 * table表示に対応し、同月エントリ [...]