以前に【考察】を載せた「プラグインを使わずにイベントカレンダー」の実装編になります。
(以前の記事:プラグインを使わずにイベントカレンダーを実装出来るか!?【考察】)
結局、プラグイン0とはいきませんでした。
今回使用したのは
プラグイン「Split」
プラグイン「JapaneseHoliday」
実装した結果、
以下のようになりました。
今回行きついた結果
▼カスタムフィールド
「連続でない場合に入力(開始日・終了日も記載)」に関しては、
年は4ケタで記載。月と日の数字が 1ケタの場合には、前に「0」を入れる運用としています。
「1月2日」なら「0102」、「8月15日」なら「0815」。年月日の区切りには「, 」を使用。
例:20180102, 20180404, 20180815, 20181225
プラグイン「Split」を使用して、上記日付を使用します。
「記事の種類」は、選択肢に「記事,カレンダー用カラ記事」を入れています。
記事 | 通常のイベント記事。 |
---|---|
カレンダー用カラ記事 | チェックをすると、カレンダー用カラ記事として登録。 カレンダーには掲載されません。(イベント記事の「公開日」がイベント開始日とずれる為、カレンダー出力用として。カレンダー用カラ記事の「公開日」を使用してカレンダーを生成します。) |
テンプレート「カレンダー」
アーカイブテンプレートの作成 :記事リスト
アーカイブマッピング :月別
<h1><$MTArchiveTitle remove_html="1" decode_html="1"$></h1> <mt:SetVarBlock name="thismonthlydate"><$MTArchiveTitle format="%B %Y"$></mt:SetVarBlock> <table class="eventList"><mt:JPHolidayDefaultTag tag="CalendarDate"><mt:Calendar month="this"><mt:CalendarIfBlank><mt:Else> <mt:IfJPHoliday> <mt:SetVarBlock name="class"> holiday</mt:SetVarBlock> <mt:SetVarBlock name="title"><$mt:CalendarDate format="%Y年%m月%d日"$>(<$mt:JPHolidayName$>)</mt:SetVarBlock> <mt:Else> <mt:SetVarBlock name="title"><$mt:CalendarDate format="%Y年%m月%d日"$></mt:SetVarBlock> <mt:If tag="CalendarDate" format="%w" eq="0"> <mt:SetVarblock name="class"> sunday</mt:SetVarBlock> <mt:ElseIf tag="CalendarDate" format="%w" eq="6"> <mt:SetVarBlock name="class"> saturday</mt:SetVarBlock> <mt:Else> <$mt:SetVar name="class" value=""$> </mt:If> </mt:IfJPHoliday> <tr class="day"> <th class="col<$mt:GetVar name="class"$>"><$mt:CalendarDay$><span><$mt:CalendarDate format="%a"$></span></th> <td class="col"><MTsetVar name="count" value="0"><$mt:CalendarDate format="%Y%m%d" setvar="CalendarEventDay"$><mt:ArchiveList type="Individual"><MTEntries lastn="0"><MTSetVarBlock name="articleType"><mt:EntryDataArticleType></MTSetVarBlock><MTIf name="articleType" eq="記事"><$mt:eventStartDate format="%Y%m%d" setvar="eventStartDate"$><$mt:eventEndDate format="%Y%m%d" setvar="eventEndDate"$><MTIf name="eventStartDate" le="$CalendarEventDay"><MTIf name="eventEndDate" ge="$CalendarEventDay"><mt:eventNotContinue setvar="eventContinue"><mt:If name="eventContinue" eq=""><MTSetVar name="count" value="1" op="+"><mt:If name="count" eq="1"> <div class="newsList"></mt:If> <article class="block"> <a href="<$MTEntryLink archive_type="Individual"$>"><h2 class="title"><$mt:EntryTitle$></h2></a> </article><MTElse><mt:SetVarBlock name="CalendarEventDays">^(<mt:eventNotContinue regex_replace="/(/g","" regex_replace="/)/g","" regex_replace="/ /g","" regex_replace="/,/g","|">)</mt:SetVarBlock><MTIf name="CalendarEventDay" like="$CalendarEventDays"><MTSetVar name="count" value="1" op="+"><mt:If name="count" eq="1"> <div class="newsList"></mt:If> <article class="block"> <a href="<$MTEntryLink archive_type="Individual"$>" class="table"><h2 class="title"><$mt:EntryTitle$></h2></a> </article></MTIf></MTIf></MTIf></MTIf></MTIf></MTEntries><mt:ArchiveListFooter><mt:If name="count" ge="1"> <!-- /newsList --></div> </MTIf></mt:ArchiveListFooter></mt:ArchiveList></td> </tr></mt:CalendarIfBlank></mt:Calendar></mt:JPHolidayDefaultTag> </table> <div class="pagination"> <ul><mt:ArchivePrevious> <li class="prev"><a href="<$mt:ArchiveLink encode_html="1"$>"><$MTArchiveTitle regex_replace="/: /g","|" remove_html="1" decode_html="1"$></a></li></mt:ArchivePrevious><mt:ArchiveNext> <li class="next"><a href="<$mt:ArchiveLink encode_html="1"$>"><$MTArchiveTitle regex_replace="/: /g","|" remove_html="1" decode_html="1"$></a></li></mt:ArchiveNext> </ul> </div>