チャレンジ! Movable TypeをCMSとして使ってみよう!

第2回 MTタグの基本的な書き方・各テンプレートの説明

この記事を読むのに必要な時間:およそ 5 分

MTタグの基本

ほげ山くん:MTタグの用語も,なんだか変わりましたよねぇ。

くれま先輩:実際の働きが変わったわけではなくて,名前が変わったんだけなんだけどね。ほげ山くんも知っているとおり,MTタグには2種類あるよね。

ブロックタグ
<MTxxxxxxx>という開始タグと</MTxxxxxxx>という終了タグがセットになっているもの。このタグの中に他のタグを入れた組み合わせで,さまざまな出力結果を得ることができる。なお,ブロックタグに囲まれた一連のMTタグの塊のことを「サブテンプレート」という。3.xでは,⁠コンテナタグ」という名称だった。
ファンクションタグ
開始タグ終了タグの組み合わせではない,単体のタグ。movabletype.jpのドキュメントや多くの書籍では<$MTxxxxxxx$>というように,前後に「$」を入れた表現をされることが多い(この「$」は,なくてもきちんと動作する⁠⁠。どんなテンプレートのどんなブロックタグの中で使われるかによって,出力結果が異なることがあるので注意しよう。3.xでは,⁠変数タグ」という名称だった。

ほげ山くん:「ブロックタグ」⁠ファンクションタグ」という名前になったんですね!これはもう覚えましたよ。あ,あと,前回に習ったと思うんですけど,⁠<mt:xxxxxxx>~</mt:xxxxxxx>」という区切り文字を使った書き方ができるんですよね。僕,今回の勉強では,この書き方を使ってみます。

くれま先輩:了解。じゃあ次は,具体的なMTタグの使い方を見ていこうかな。まずは,3.xのときと同じ書き方でできるものを,ほげ山くんに書いてもらおっと。

ほげ山くん:(どきどき)

くれま先輩:簡単なのだから大丈夫だよ!インデックステンプレートの「メインページ」に記述するという前提にしようね。ブログ記事の一覧を出力するサブテンプレートは,どんな感じ?ブログ記事へのリンクも出力させてね。

ほげ山くん:あ,それだったら,できます!

ブログ記事の一覧を出力する

<mt:Entries>
	<mt:EntriesHeader>
		<ul>
	</mt:EntriesHeader>
		<li><a href="<mt:EntryLink />"><mt:EntryTitle /></a></li>
	<mt:EntriesFooter>
		</ul>
	</mt:EntriesFooter>
</mt:Entries>

ほげ山くん:これでどうでしょう?

くれま先輩:はい,よくできました!ちょっと説明してみると,<mt:Entries>でブログ記事の一覧を取得する。<mt:EntriesHeader>に囲まれた部分は,ブログ記事をループするときの一番最初に一回だけ内容を出力する。<mt:EntryLink />で個別のブログ記事のURLを出力する。<mt:EntryTitle />でブログ記事のタイトルを出力。<mt:EntriesFooter>に囲まれた部分は,ブログ記事をループするときの一番最後に一回だけ内容を出力する。という感じだね。

ほげ山くん:これを再構築すると,こんなHTMLソースが出力されるんですよね。

再構築して出力されるソース

<ul>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx010.html">タイトル010</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx009.html">タイトル009</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx008.html">タイトル008</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx007.html">タイトル007</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx006.html">タイトル006</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx005.html">タイトル005</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx004.html">タイトル004</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx003.html">タイトル003</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx002.html">タイトル002</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx001.html">タイトル001</a></li>
</ul>

※ここで出力されるブログ記事の件数は,⁠設定→ブログの設定→ブログ記事→ブログ記事の表示数]での設定で決まる。デフォルトは10件。

MTタグの働きをコントロールする

くれま先輩:では,これを少し変えてみよう!「りんご」というカテゴリーの最新5件をリストアップするように,変更してみてくれる?

ほげ山くん:はい。その場合は,MTタグにアトリビュートを設定すればいいんですよね。

くれま先輩:ちょっと待って!3.xでは,MTタグの出力結果をコントロールするのに「アトリビュート」を使ったんだけれど,4.0以降では「モディファイア」という名前に変わってるから注意してね!

ほげ山くん:ここも,名前が変わってたんですね。了解しました!では,⁠モディファイア」をこんな風に設定すればいいですよね。

ブログ記事の一覧を出力する(「りんご」というカテゴリーの最新5件)

<mt:Entries category="りんご" lastn="5">
	<mt:EntriesHeader>
		<ul>
	</mt:EntriesHeader>
		<li><a href="<mt:EntryLink />"><mt:EntryTitle /></a></li>
	<mt:EntriesFooter>
		</ul>
	</mt:EntriesFooter>
</mt:Entries>

図10 モディファイア。HTMLのタグにおける「属性」と似た書き方で,MTタグの動作をコントロールすることができる。

図10 モディファイア。HTMLのタグにおける「属性」と似た書き方で,MTタグの動作をコントロールすることができる。

くれま先輩:そうそう。⁠モディファイア」に名前が変わったけど,使い方は一緒だからね。

再構築して出力されるソース

<ul>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx005.html">りんごのお話005</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx004.html">りんごのお話004</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx003.html">りんごのお話003</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx002.html">りんごのお話002</a></li>
	<li><a href="http://xxxxxx.xx/xxxxx/xxxxx001.html">りんごのお話001</a></li>
</ul>

ほげ山くん:ここまでは,僕でもちゃんと分かりました。で,4.1以降で加わったMTタグについてもちょっと知りたいんですが…。

著者プロフィール

黒野明子(くろのあきこ)

1973年生まれ。1995年 武蔵野美術大学短期大学部専攻科グラフィックデザインコース修了。

ファッションカメラマン事務所、広告系デザイン事務所、Web制作会社勤務を経て、2003年よりフリー。Webデザイン・企画を中心に、DTPデザインなども行う。

現在、武蔵野美術大学共通デザイン研究室非常勤講師及び株式会社デジタルスケープ・PreJOBトレーニング講師も兼務。2005年秋頃から業務としてMTサイトの構築を始め、現在の業務のほとんどでMovable Typeを使用している。

著書:

『CMSとして使うMovable Typeガイドブック』 (翔泳社、共著)

『Movable Typeプロフェッショナル・スタイル』(毎日コミュニケーションズ、共著)

URL:http://cremadesign.jp/