MTでブログ記事ごとにテンプレートを選択可能にする方法

この方法は最近知ったばかりなんですけど、知ってしまったらかなり便利だと思いました。

知らなかった頃はいつもと違うレイアウトの記事内容がきた時は、自力で作っていたんですが、これでだと始めの段階でいつくかパターンを作れるので、パターンさえ作っちゃえば誰でも簡単に更新が出来ちゃうわけなんですよ!

やり方なんですけど、Movable Type 4.1 から導入されたカスタムフィールドを使います。

ここからが続き

カスタムフィールドの設定

  1. カスタムフィールドの作成をします。
  2. 今回はブログ記事ごとにテンプレート変更させるので、[システムオブジェクト] から [ブログ記事] を選択します。

    Contact

  3. 名前や説明、テンプレートタグは任意のものを入力して構いません。今回は分かりやすいように以下のように設定しました。

    Contact

これで保存を押せば、カスタムフィールド作成を完了です。
念の為作り終わったらブログ記事の管理画面をチェックしてみて下さい。

テンプレートを選択する仕組み

次に3つのテンプレートモジュールを準備します。

テンプレート A

<p>テンプレート A を使用して『<$MTEntryTitle$>』を出力しました。</p>

テンプレート B

<p>テンプレート B を使用して『<$MTEntryTitle$>』を出力しました。</p>

テンプレート C

<p>テンプレート C を使用して『<$MTEntryTitle$>』を出力しました。</p>

ブログ記事テンプレート

最終仕上げは、アーカイブテンプレートのブログ記事テンプレートのテンプレートに切り替える部分を入れます。

<MTSetVarBlock name="entry_template_name"><$MTEntryTemplate$></MTSetVarBlock>

<MTIf name="entry_template_name" eq="テンプレートA">
	<MTInclude module="テンプレートA">
		<MTElseIf eq="テンプレートB">
			<MTInclude module="テンプレートB">
		<MTElse>
	<MTInclude module="テンプレートC">
</MTIf>

これでブログ記事ごとにテンプレートを選択する事が可能になります。
一度やってみればけっこう簡単なので、使う機会があったら是非使ってみて下さい。

Related Article

Comment Form

※コメントが認証されるまで、コメントは反映されません。ご了承くださいませ。


(公開されません)