Movable TypeをいくつかWebサイトを構築していると、だいたい決まった用途のテンプレート・パターンが見えてくると思います。
今回はそういったパターンに使えそうな、再利用可能なモジュールを作ってみます。
第1回目は、アイテムの「ファイル判別」モジュールです。
使い所としては、
などでしょうか。
コードは単純で、まずは「<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構築で作業時間を短縮できると思います。