Japanese mtml guide 1 3 - Hiranyaloka/Documentation GitHub Wiki
今回もファンクションタグ、ブロックタグ、コンディショナルタグについて解説します。
また、一部Java Scriptが記載されているので、そちらも簡単に解説させていただきます。
アーカイブタイプをユーザーに設定したアーカイブ一覧です。タグは「最近のブログ記事」ウィジェットと近い構成になっています。
このウィジェットでは、 <mt:IfArchiveTypeEnabled>~</mt:IfArchiveTypeEnabled> 、 <mt:ArchiveList>~</mt:ArchiveList> 、 <mt:ArchiveListHeader>~</mt:ArchiveListHeader> 、 <$mt:ArchiveLink$> 、 <$mt:ArchiveTitle$> 、 <$mt:ArchiveCount$> 、 <mt:ArchiveListFooter>~</mt:ArchiveListFooter> タグが使われています。

- 1行目~16行目 <mt:IfArchiveTypeEnabled>~</mt:IfArchiveTypeEnabled>
- 指定したアーカイブの種類が有効のときに実行する条件タグです。モディファイア archive_type を指定することで、アーカイブの種類を選択できます。
- ここでは
archive_type="Author"を指定しているので、ユーザーアーカイブが設定されている場合、内部が処理されます。- 2行目~15行目 <mt:ArchiveList>~</mt:ArchiveList>
- アーカイブの一覧を表示するためのブロックタグです。モディファイア archive_type で、表示するアーカイブの種類を指定できます。
- ここでは
archive_type="Author"に設定されているので、ユーザー別にリストされます。- 3行目~8行目 <mt:ArchiveListHeader>~</mt:ArchiveListHeader>
- MTArchives タグの中で、最初にだけ実行する条件タグです。最初のとき内部が処理されます。
- 9行目
-
<$mt:ArchiveLink$>
- ブログ記事一覧アーカイブの絶対 URL を表示します。ブログ記事一覧アーカイブへのリンクを作るときに使います。
- MTArchiveList ブロックの中か、アーカイブに関連したテンプレートで使用できます。表示する URL は、MTArchiveList ブロックの設定 (モディファイア) やテンプレートに準じます。
- MTArchiveList ブロックに
archive_type="Author"と設定しているため、ブロックの中ではユーザーアーカイブの URL を表示します。
-
<$mt:ArchiveTitle$>
- ブログ記事一覧アーカイブのタイトルを表示します。表示されるタイトルは、アーカイブの種類に依存します。
- MTArchiveList ブロックに
archive_type="Author"モディファイアを設定したブロックの中では、ユーザー名を表示します。
-
<$mt:ArchiveCount$>
- ブログ記事一覧アーカイブのブログ記事数を表示します。
-
<$mt:ArchiveLink$>
- 10行目~14行目 <mt:ArchiveListFooter>~</mt:ArchiveListFooter>
- MTArchives タグの中で、最後にだけ実行する条件タグです。最後のときだけ処理されます。
- 3行目~8行目 <mt:ArchiveListHeader>~</mt:ArchiveListHeader>
- 2行目~15行目 <mt:ArchiveList>~</mt:ArchiveList>
アーカイブタイプをユーザー月別にしたアーカイブ一覧です。上で説明したユーザーアーカイブとほぼ同じ構成になっています。
変更されているのは <mt:IfArchiveTypeEnabled> , <mt:ArchiveList> のモディファイアが archive_type="Author-Monthly" になっている事と、 <$mt:AuthorDisplayName encode_html="1"$> が使われている点です。
モディファイアが archive_type="Author-Monthly" になっている事で「ユーザー月別アーカイブ」が利用されているときだけ処理が行われます。
<$mt:AuthorDisplayName encode_html="1"$> はユーザーのプロフィール設定で入力した『表示する名前』の内容を表示します。モディファイアに encode_html="1" が付いている事でHTMLタグを文字列として表示できるようにHTMLエンコードして表示します。

詳細は省略します。
年別( archive_type="Category-Yearly" )、月別( archive_type="Category-Monthly" )、週別( archive_type="Category-Weekly" )、日別( archive_type="Category-Daily" )のカテゴリーアーカイブが設定されている場合に一覧を表示します。
それ以外は「ユーザーアーカイブ」「ユーザー月別アーカイブ」と大きな変わりはありません。

詳細は省略します。
年別( archive_type="Author-Yearly" )、月別( archive_type="Author-Monthly" )、週別( archive_type="Author-Weekly" )、日別( archive_type="Author-Daily" )のユーザーアーカイブが設定されている場合に一覧を表示します。
それ以外は「日付ベースのカテゴリアーカイブ」と大きな変わりはありません。

詳細は省略します。
月別アーカイブ一覧です。 5行目で <$mt:ArchiveTypeLabel$> が使われていますが、 archive_type="Monthly" の指定がされているため、「月別」と表示されます。
それ以外は「ユーザーアーカイブ」と大きな差はありません。

詳細は省略します。
上述した「月別アーカイブ」ウィジェットのドロップダウン版です。ページ上で縦幅を取らないためコンパクトに出来るのが利点です。
基本的には「月別アーカイブ」と同じなので、ここではJava Scriptの解説を行います。

- 7行目
<select onchange="nav(this)">で、プルダウンメニューで変更を行ったらnav(this)関数を呼びます。このthisはプルダウンメニュー自体を指します。 - 17行目 関数
function nav(sel)が呼ばれます。 - 18行目 プルダウンが選択されていなかったら、何もせずに関数を抜けます。
- 19行目 プルダウンで選択された行数(
sel.selectedIndex)を、sel.options[]で指定する事で選択されたオプションのオブジェクト(opt)が取得できます。 - 20行目~21行目
optが存在し、opt.valueも値がある場合、ページをopt.valueで指定されたURLに移動します。
検索を行うウィジェットです。
このウィジェットでは、 <$mt:CGIPath$> 、 <$mt:SearchScript$> 、 <$mt:SearchString$> 、 <mt:If>~</mt:If> 、 <mt:Else>~</mt:Else> 、 <$mt:SearchIncludeBlogs$> 、 <$mt:BlogID$> 、 <mt:Ignore>~</mt:Ignore> 、 <$mt:SearchMaxResults$> 、 <mt:IfTagSearch>~</mt:IfTagSearch> 、 <mt:Tags>~</mt:Tags> 、 <$mt:TagSearchLink$> 、 <$mt:TagName$> 、 <$mt:TagCount$> 、 タグが使われています。

- 4行目
-
<$mt:CGIPath$>
- システムの CGI プログラムを配置したパスを表示します。環境設定ファイル (mt-config.cgi) の CGIPath の値を表示します。
-
<$mt:SearchScript$>
- ブログの検索 CGI プログラムのファイル名を表示します。<$mt:CGIPath$>と組み合わせることで、プログラムへのパスを生成できます。
-
<$mt:CGIPath$>
- 5行目 <$mt:SearchString$>
- 検索する条件 (文字列) を表示します。
- 6行目~15行目 <mt:If> ~ <mt:Else>
-
name="search_results"検索結果ページだった場合、内部の処理を行います。 - 7行目 <$mt:SearchIncludeBlogs$>
- 検索対象のブログのブログ ID を、カンマ区切りで表示します。
- 8行目~14行目 <mt:Ignore>~</mt:Ignore>
- 指定した範囲について、処理を行わないブロックタグです。ここではコメントアウトの手段として利用されています。(旧検索用のMTタグ)
-
- 15行目~17行目 <mt:Else> ~ </mt:If>
-
name="search_results"検索結果ページでない場合、処理を行います。- 16行目 <$mt:BlogID$>
- ブログの ID 番号を表示します。ブログには 1, 2, 3… といった正の整数の ID 番号が割り当てられます (必ずしも1から始まる連番になるわけではありません)。
- 16行目 <$mt:BlogID$>
-
- 18行目 <$mt:SearchMaxResults$>
- 環境設定ファイル (mt-config.cgi) で設定されている環境変数 SearchMaxResults の値(検索時最大出力件数)を出力します。
- 23行目~36行目 <mt:If>~</mt:If>
-
name="search_results"検索結果ページだった場合、内部の処理を行います。- 24行目~35行目 <mt:IfTagSearch>~</mt:IfTagSearch>
- ブログ記事の検索の場合に実行する条件タグです。タグでの検索時に囲まれた内容を処理します。
- 29行目~31行目 <mt:Tags>~</mt:Tags>
- タグ一覧を表示するためのブロックタグです。
- 30行目
-
<$mt:TagSearchLink$>
- 特定のブログ内で、特定のタグを付加したコンテンツを検索するためのリンクです。
-
encode_js="1"としているので、Java Scriptで利用するのに問題のある文字をエンコードします。
-
<$mt:TagName$>
- 特定のタグの名前を表示します。
-
<$mt:TagCount$>
- 特定のブログ内で、指定したタグが設定されたブログ記事数を表示します。
-
<$mt:TagSearchLink$>
- 29行目~31行目 <mt:Tags>~</mt:Tags>
- ブログ記事の検索の場合に実行する条件タグです。タグでの検索時に囲まれた内容を処理します。
- 24行目~35行目 <mt:IfTagSearch>~</mt:IfTagSearch>
-
ここまでウィジェットを多く読んできましたが、行っている事は単純な事はご理解いただけましたでしょうか?
残るは、あと7つのウィジェットです。さくっと読み進めましょう。
- 1. ウィジェット
- 「Powered By」「Technorati Search」「OpenID対応」「クリエイティブ・コモンズ」
- 「ホームページウィジェットグループ」「購読」「アイテム」「タグクラウド」「最近のコメント」「最近のブログ記事」
- 「ユーザーアーカイブ」「ユーザー月別アーカイブ」「日付ベースのカテゴリアーカイブ」「日付ベースのユーザーアーカイブ」「月別アーカイブ」「月別アーカイブ(ドロップダウン)」「検索」
- 「アーカイブウィジェットグループ」「カテゴリアーカイブ」「カテゴリ月別アーカイブ」「カレンダー」「サインイン」「ページ一覧」「About」
- 2. MTML(初級編)
- 3. MTML(応用編)