本文へジャンプ

これで楽ちん! Movable Typeの再利用モジュールを作ろう (1)
「アイテムのファイル判別」

Movable TypeをいくつかWebサイトを構築していると、だいたい決まった用途のテンプレート・パターンが見えてくると思います。

今回はそういったパターンに使えそうな、再利用可能なモジュールを作ってみます。

第1回目は、アイテムの「ファイル判別」モジュールです。

使い所としては、

  • ニュース記事ページ毎に添付ファイルを付けたい
  • PDFやデータファイルをダウンロードするページを作りたい

などでしょうか。

モジュール内容

コードは単純で、まずは「<mt:AssetFileExt>」でアイテムの拡張子を取得して変数に格納します。
その変数を「<mt:If>」で、必要な分だけ分岐処理します。
以下のサンプルソースでは、「file_name」だけSetvarしてますが、お好みに応じて変数を増やしてください。

<$mt:AssetFileExt setvar="file_ext"$>

<mt:If name="file_ext" eq="pdf">
  <$mt:SetVar name="file_name" value="PDFファイル"$>
< mt:ElseIf eq="ppt">
  <$mt:SetVar name="file_name" value="パワーポイントファイル"$>
< mt:ElseIf eq="zip">
  <$mt:SetVar name="file_name" value="ZIPファイル"$>
< mt:ElseIf eq="xls">
  <$mt:SetVar name="file_name" value="エクセルファイル"$>
< mt:Else>
  <$mt:SetVar name="file_name" value="none"$>
</mt:If>

汎用的に使えるモジュールにしておきたいので、以上のコードを「モジュールテンプレート」として作成します。

今回は仮にモジュール名を 「[MOD] ファイル判別」 としておきます。

使い方例

そして、使用する際は以下のように呼び出します。
Assets系ブロックタグ内であれば、呼び出すだけで「 <$mt:GetVar name="file_ext"$> 」が使えるようになります。

<mt:EntryAssets>
<$mt:Include module="[MOD] ファイル判別"$>
<a href="<$mt:AssetURL$>" target="_blank" class="<$mt:GetVar name="file_ext"$>">
  <$mt:GetVar name="file_name"$>(<$mt:AssetProperty property="file_size" format="1"$>)
</a>
</mt:EntryAssets>

こんな感じで、判別用や計算専用などの処理をモジュールテンプレートで作っておくと、今後のMT構築で作業時間を短縮できると思います。

今回使用したMTタグ

Recent Entries
MD EVENT REPORT
What's Hot?