2012年3月22日

Movable Typeで作成したインデックステンプレートに識別子を設定できる「IndexTemplateIdentifierプラグイン」

Movable Typeで作成したインデックステンプレートに識別子を設定できる「IndexTemplateIdentifierプラグイン」を公開します。

1.基本

Movable TypeではMTIncludeというテンプレートタグが用意されています。

このテンプレートタグを利用すれば、テンプレートモジュールや外部ファイルなどをインクルードすることができることはご存知と思われますが、次のようにidentifierモディファイアを使えば、任意のインデックステンプレートをインクルードすることができます。

<$mt:include identifier="foo"$>

identifierに設定する値は、インデックステンプレート編集画面に表示されている「テンプレートの種類」のカッコ内にある英数字部分(=識別子)です。

メインページのオプション画面
テンプレートの種類

たとえばメインページをインクルードしたい場合、MTIncludeタグのidentifierに「main_index」を設定します。

<$mt:include identifier="main_index"$>

2.問題点

識別子を利用できるのは、テーマ(またはテンプレートセット)を適用した時点で登録されているインデックステンプレートのみで、インデックステンプレートを新規作成した場合、「テンプレートの種類」から「カスタムインデックステンプレート」しか選択できず、識別子を与えることができません。

インデックステンプレート新規作成時のオプション画面
カスタムインデックステンプレート

3.プラグインの機能

IndexTemplateIdentifierプラグインを適用すれば、インデックステンプレート作成時に任意の識別子を設定することができるようになります。このフィールドは「テンプレートの種類」で「カスタムインデックステンプレート」を選択している場合のみ表示されます。

インデックステンプレート新規作成時のオプション画面(プラグイン適用後)
カスタムインデックステンプレートの識別子

すでに登録しているインデックステンプレートについても識別子を設定することができます。

4.MTIncludeタグによるインクルードについて

カスタムインデックステンプレートに識別子を設定することで、新規作成したインデックステンプレートについてもMTIncludeタグでインクルードできるようになります。

もう少し説明すると、インデックステンプレートを使ってファイルを出力し、そのファイルをMTIncludeタグにfileモディファイアを使ってインクルードすることもできます。

<$mt:include file="foo.html"$>

ただし、MT5.13からセキュリティが強化された関係で、fileモディファイアを使ったインクルードに制限がかかりました(テンプレート編集権限のあるユーザが任意の外部ファイルをインクルードできないようにするため)。制限を解除するには環境変数AllowFileIncludeの設定を行えばいいのですが、セキュリティ上、好ましい対処ではありません。

identifierモディファイアではインデックステンプレートのみインクルードする機能なので、このモディファイアを利用すればセキュリティ面で制限を受けることもなく安全です。また、スタティックパブリッシング・ダイナミックパブリッシングのいずれでも利用可能です。

ということで、個人的にはこの方法によるインクルードをお勧めします(認識誤りがありましたらご指摘ください)。

5.価格

MT5.1版:1050円/1インストールMT(動作確認後、購入してください)

6.プラグインのダウンロード・インストール

下記のリンクをクリックして、プラグインアーカイブをダウンロードします。

IndexTemplateIdentifier_0_01.zip

プラグインアーカイブを展開し、中にあるIndexTemplateIdentifierフォルダごと、Movable Type のアプリケーションディレクトリのpluginsディレクトリにアップロードします。

システム管理画面のプラグイン設定画面で、「IndexTemplateIdentifier~」が表示されればインストール完了です。

プラグイン設定画面

7.注意事項

設定できるのは半角英数文字のみです。

Comments [0] | Trackbacks [0]
2012年3月19日

Movable Typeでアイテムを利用しているブログ記事一覧を表示する「AssetEntriesプラグイン」

March 19,2012 12:03 AM
Tag:[, , ]
Permalink

Movable Typeでアイテムを利用しているブログ記事一覧を表示する「AssetEntriesプラグイン」を公開します。下のスクリーンショットはアイテムを利用しているブログ記事一覧を表示サンプルです。

AssetEntriesプラグイン

1.プラグインの機能

AssetEntriesプラグインは、MTAssetsタグまたはMTAssetタグ内で動作するMTAssetEntiresブロックタグを提供します。各テンプレートタグの具体的な利用方法は3項を参照してください。

本プラグインはMT5.0/MT5.1で動作確認しています。

2.プラグインのダウンロード・インストール

下記のリンクをクリックして、プラグインアーカイブをダウンロードします。

AssetEntries_0_01.zip

プラグインアーカイブを展開し、中にあるAssetEntriesフォルダごと、Movable Type のアプリケーションディレクトリのpluginsディレクトリにアップロードします。

システム管理画面のプラグイン設定画面で、「AssetEntries~」が表示されればインストール完了です。

プラグイン設定画面

3.テンプレートのサンプル

MTAssetEntriesタグはMTAssetsタグ・MTAssetタグ内で利用できます。MTAssetEntriesは次のモディファイアを利用できます。

  • lastn
  • sort_by(設定がない場合はブログ記事タイトルでソート)
  • sort_order(設定がない場合は昇順にソート)
  • glue

アイテムを利用しているブログ記事一覧を表示するには、次のように記述します。

<mt:Assets>
  <mt:AssetEntries>
    <$mt:EntryTitle$>
  </mt:AssetEntries>
</mt:Assets>

特定のアイテムのブログ記事一覧を表示するには、次のように記述します。

<mt:Asset id="1">
  <mt:AssetEntries>
    <$mt:EntryTitle$>
  </mt:AssetEntries>
</mt:Asset>

冒頭のスクリーンショットのサブテンプレートは次のようになっています。

<mt:Assets>
  <mt:if name="__first__">
  </mt:if>
<div>
<img src="<$mt:AssetThumbnailURL width="75"$>" />
</div>
  <mt:AssetEntries>
    <mt:if name="__first__">
<p>この画像を使っているブログ記事</p>
    <ul>
    </mt:if>
      <li><$mt:EntryTitle$></li>
    <mt:if name="__last__">
    </ul>
    </mt:if>
  </mt:AssetEntries>
  <mt:if name="__last__">
  </mt:if>
</mt:Assets>
Comments [0] | Trackbacks [0]
2012年3月18日

Movable Typeのカテゴリ一覧をソートできる「SortCategoriesプラグイン」

March 18,2012 2:55 AM
Tag:[, , ]
Permalink

Movable Typeのカテゴリ一覧を任意の条件でソートできる「SortCategoriesプラグイン」を公開します。下のスクリーンショットはカテゴリの作成日で最新5件を降順ソートしたサンプルです。

SortCategoriesプラグイン

1.基本

Movable Typeで階層化しないカテゴリ一覧を出力するタグとしてMTCategoriesタグが用意されています。公式サイトのドキュメントには記載がありませんが、lastnモディファイアやsort_orderモディファイアを利用することもできます。ただしタイトル以外の条件でソートすることができません。

ちなみに、MT5.1ではMTSubCategoriesタグ、MTTopLevelCategoriesタグについてsort_orderモディファイアが提供されており、任意の条件でソートすることが可能になりましたが、これらのタグは階層化表示が目的なのでlastnモディファイアを利用することはできません。

2.プラグインの機能

SortCategoriesプラグインでは、MTCategoriesタグにsort_byモディファイアを利用できる機能を追加したMTSortCategoriesブロックタグを提供します。

MTSortCategoriesブロックタグにsort_byモディファイアを与えれば、以下の条件でソートすることが可能です。sort_byモディファイアを設定していない場合はカテゴリ名でソートします。

  • basename(出力ファイル名)
  • created_on(作成日)
  • label(カテゴリ名)
  • modified_on(変更日時)
  • description(説明)

これにより、例えば新規作成したカテゴリを10件表示するといったことも可能になります。

また、カテゴリの作成日時と更新日時を出力するMTCategoryDateタグとMTCategoryModifiedDateタグも併せて提供します。この2つのファンクションタグはformatモディファイアの利用が可能です。

各テンプレートタグの具体的な利用方法は4項を参照してください。

本プラグインはMT5.0/MT5.1で動作確認しています。

3.プラグインのダウンロード・インストール

下記のリンクをクリックして、プラグインアーカイブをダウンロードします。

SortCategories_0_01.zip

プラグインアーカイブを展開し、中にあるSortCategoriesフォルダごと、Movable Type のアプリケーションディレクトリのpluginsディレクトリにアップロードします。

システム管理画面のプラグイン設定画面で、「SortCategories~」が表示されればインストール完了です。

プラグイン設定画面

プラグイン名は既出の他プラグインと重複しているので別途変更するかもしれません。

4.テンプレートのサンプル

最新10件のカテゴリを降順に表示するには、次のように記述します。

<mt:SortCategories sort_by="created_on" sort_order="descend" lastn="10">
  <$mt:CategoryLabel$>
</mt:SortCategories>

ブログ記事を含まないカテゴリを表示する場合は「show_empty="1"」を追加します。

<mt:SortCategories show_empty="1" sort_by="created_on" sort_order="descend" lastn="10">
  <$mt:CategoryLabel$>
</mt:SortCategories>

冒頭のスクリーンショットのように、最新5件のカテゴリ名と作成日時をリスト形式で表示するには次のようにします。

<mt:SortCategories show_empty="1" sort_by="created_on" sort_order="descend" lastn="5">
  <mt:if name="__first__">
<ul>
  </mt:if>
  <li><mt:CategoryLabel> <$mt:CategoryCreatedDate format="%Y年%B月%e日"$>作成</li>
  <mt:if name="__last__">
</ul>
  </mt:if>
</mt:SortCategories>

カテゴリ名を、カテゴリの説明で昇順にソートするには次のようにします。

<mt:SortCategories sort_by="description" sort_order="ascend">
  <$mt:CategoryLabel$>
</mt:SortCategories>

5.注意事項

MT5.1以上のカテゴリ一覧画面で、一括作成したカテゴリの作成日時は全く同じになるため、created_onでソートしても期待する結果になりません。

Comments [0] | Trackbacks [0]
Now loading...
ギターに入った猫
IT転職は【Green】Web/インターネット業界の求人に強い転職サイト グリーン
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

Categories
Monthly Archives
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
2005年
2004年
2003年
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
Powered by
Movable Type 5.12