イベントカレンダープラグイン(その14・リアルタイム再構築プラグインとの組み合わせ)

イベントカレンダープラグインで、現在開催中のイベントなどイベントの情報を表示する際に、常にリアルタイムの情報を表示したいこともあります。
リアルタイム再構築プラグインとJQAjaxIncludeプラグインを組み合わせれば、そのようなことを行うこともできます。

1.プラグインのインストール

まず、リアルタイム再構築プラグインと、JQAjaxIncludeプラグインをインストールします。
また、リアルタイム再構築プラグインとともに使うRebuildHelperプラグインもインストールします。

2.イベント情報を出力するテンプレートモジュールを作成

次に、リアルタイム再構築でイベント情報を出力するために、テンプレートモジュールを作成します。
テンプレートモジュールには、イベント情報の部分だけを出力するテンプレートタグ等を入れます。

例えば、現在開催中のイベントを出力するには、テンプレートモジュールに以下のようなタグを入れます。

<mt:CurrentEventEntries>
  <mt:EntriesHeader><ul></mt:EntriesHeader>
  <li><$mt:EntryTitle$></li>
  <mt:EntriesFooter></ul></mt:EntriesFooter>
<mt:Else>
  <p>現在開催中のイベントはありません。</p>
</mt:CurrentEventEntries>

3.テンプレートモジュールの再構築の許可

次に、手順2で作ったテンプレートモジュールを、リアルタイム再構築できるように設定します。
手順は以下の通りです。

  • 対象のブログ(またはウェブサイト)の管理画面で、「ツール」→「プラグイン」メニューを選びます。
  • プラグイン一覧でRealtimeRebuildを選び、「設定」のタブを開きます。
  • 「再構築を許可するテンプレート」の部分で、手順2のテンプレートモジュールを探し、チェックをオンにします。
  • 「変更を保存」ボタンをクリックします。

4.Ajaxで読み込む

最後に、イベント情報を組み込みたいテンプレートを編集し、Ajaxで読み込むようにします。

テンプレートの中で、イベント情報を出力したい位置に、以下のようなタグを入れます。
「○○○」には、要素のIDを決めて入れます。
また、「□□□」には、手順2で作ったテンプレートモジュールの名前を入れます。

<div id="○○○"></div>
<mt:JQAjaxInclude id="○○○"><$MTRealtimeRebuildLink tmpl_name="□□□"$></mt:JQAjaxInclude>

そして、テンプレートの中で、タグの直前に、以下のテンプレートタグを入れます。

<$mt:JQAjaxIncludeJS$>

5.負荷に注意

常にリアルタイムで表示する場合、ページにアクセスがあるたびにCGIが実行されます。
アクセスが多いサイトだと、サーバーの負荷が上がることになりますので、注意が必要です。