-
Notifications
You must be signed in to change notification settings - Fork 9
Japanese mtml guide 1 2
今回は<$mt:Include$>タグや、その他のブロックタグについてウィジェットを参考に解説していきます。
メインインデックスのテンプレートにだけ表示されるように制御されているウィジェットです。
このウィジェットでは、 <mt:if>~</mt:if> 、 <mt:Ignore>~</mt:Ignore> 、 <$mt:Include$> タグが使われており、ウィジェットとして「最近のコメント」「最近のブログ記事」「アイテム」「タグクラウド」がインクルードされています。
- 1~3行目の <mt:Ignore>~</mt:Ignore>
- このタグは指定した範囲について、処理を行わないブロックタグです。
- 今回のようにコメントとして利用したり、MTタグやHTMLの文言を表示させないようにする事ができます。
- 4~9行目の <mt:if>~</mt:if>
-
name
指定でmain_index
を指定しているため、このウィジェットがメインインデックスで処理されるときのみ、このブロックタグの内容が表示されます。 - 5~8行目の <$mt:Include$>
- テンプレートモジュールや、外部ファイルを読み込むときに使うタグです。モディファイア module や file などにより、読み込む対象を指定します。widget モディファイアを利用すれば、ウィジェット単体の読み込みも行えます。
- 外部ファイルを更新しても、サイトの再構築をしない限り、更新は適用されません。再構築せずに更新を反映するためには、ダイナミックパブリッシングを利用するか、SSI や PHP のインクルードを利用します。
-
widget
指定がされているため、「最近のコメント」「最近のブログ記事」「アイテム」「タグクラウド」ウィジェットが順に読み込まれ処理されます。
-
-
RSSフィードによってブログを購読するための物です。また、検索結果のページではその検索結果をRSSフィードで出力し、検索キーワードの出てくる記事をチェックする事ができます。
このウィジェットでは、 <$mt:CGIPath$> 、 <mt:If>~</mt:If> 、 <mt:Else> 、 <mt:IfTagSearch>~</mt:IfTagSearch> 、 <$mt:Link$> 、 <$mt:SearchIncludeBlogs$> 、 <$mt:SearchMaxResults$> 、 <$mt:SearchScript$> 、 <$mt:SearchString$> 、 <$mt:StaticWebPath$> タグが使われています。
- 5行目~9行目 <mt:If>~</mt:If>
-
name="search_results"
としているため、検索結果のページの場合だけブロックの中が処理されます。 - 6行目~8行目 <mt:If>~</mt:If>
-
tag="SearchString"
としているため、検索結果があった場合だけブロックの中が処理されます。 - 7行目
-
<$mt:StaticWebPath$>
- システムが利用する HTML ファイルを置いたディレクトリを表示します。環境設定ファイル (mt-config.cgi) の StaticWebPath の値を表示します。
-
<$mt:CGIPath$>
- システムの CGI プログラムを配置したパスを表示します。環境設定ファイル (mt-config.cgi) の CGIPath の値を表示します。
-
<$mt:SearchScript$>
- ブログの検索 CGI プログラムのファイル名を表示します。<$mt:CGIPath$>と組み合わせることで、プログラムへのパスを生成できます。
-
<mt:IfTagSearch>tag<mt:else>search</mt:IfTagSearch>
- ブログ記事の検索の場合に実行する条件タグです。タグでの検索時に囲まれた内容を処理します。
- タグでの検索時には
tag
を、そうでない場合 <mt:Else> により、search
を表示します。 - <mt:Else> は条件文(ここでは <mt:IfTagSearch>~</mt:IfTagSearch> )が合わなかった場合に処理されます。
- タグでの検索時には
- ブログ記事の検索の場合に実行する条件タグです。タグでの検索時に囲まれた内容を処理します。
-
<$mt:SearchString$>
- 検索する条件 (文字列) を表示します。
- ここではグローバルモディファイア
encode_url="1"
を付けて正しいURLになるように文字列を変更します。- グローバルモディファイアについては、グローバルモディファイアリファレンス を参考にしてください。
-
<$mt:SearchIncludeBlogs$>
- 検索対象のブログのブログ ID を、カンマ区切りで表示します。
-
<$mt:SearchMaxResults$>
- 環境設定ファイル (mt-config.cgi) で設定されている環境変数 SearchMaxResults の値を出力します。
-
<mt:IfTagSearch>「<$mt:SearchString$>」の検索結果を購読<mt:Else>タグ「<$mt:SearchString$>」を購読</mt:IfTagSearch>
- 先ほどと同じくタグでの検索時に
「<$mt:SearchString$>」の検索結果を購読
を表示し、それ以外の場合タグ「<$mt:SearchString$>」を購読
を表示します。- <$mt:SearchString$> は上述のように、検索する条件 (文字列) を表示します。
- 先ほどと同じくタグでの検索時に
-
<mt:IfTagSearch>タグ「<$mt:SearchString$>」のフィード<mt:Else>「<$mt:SearchString$>」を検索した結果のフィード</mt:IfTagSearch>
- 先ほどと同じくタグでの検索時に
タグ「<$mt:SearchString$>」のフィード
を表示し、それ以外の場合「<$mt:SearchString$>」を検索した結果のフィード
を表示します。- <$mt:SearchString$> は上述のように、検索する条件 (文字列) を表示します。
- 先ほどと同じくタグでの検索時に
-
<$mt:StaticWebPath$>
-
-
登録した画像を最新から10枚取り出し、サムネールと画像へのリンクを付加して表示するウィジェットです。
このウィジェットでは、<mt:If>~</mt:If> 、 <mt:Assets>~</mt:Assets> 、 <mt:AssetsHeader>~</mt:AssetsHeader> 、 <$mt:AssetURL$> 、 <$mt:AssetThumbnailURL$> 、 <$mt:AssetLabel$> 、 <mt:AssetsFooter>~</mt:AssetsFooter> が、利用されています。
- 1行目~16行目 <mt:If>~</mt:If>
-
tag="AssetCount"
が指定されているため、アイテムがある場合に内部の処理を行います。 - 2行目~15行目 <mt:Assets>~</mt:Assets>
- ブログのアイテム一覧のためのブロックタグです。モディファイアを指定することで、特定の条件にあてはまるアイテムだけを抜き出すことや、日付順で指定した数のアイテムを一覧することができます。
- ここではモディファイアとして、
type="image"
として画像を対象に、lastn="10"
として最新10件を取得し、取得された分ループ処理を行います。- 3行目~8行目 <mt:AssetsHeader>~</mt:AssetsHeader>
- MTAssets ブロックタグの中で、最初にだけ実行する条件タグです。
- ここではウィジェットの先頭部分を作成し、
<ul>
タグのスタートまで表示します。
- 9行目
-
<$mt:AssetURL$>
- アイテムのオリジナルファイルへの URL を表示します。
- これによりサムネールをクリックするとオリジナルサイズの画像が表示されます。
-
<$mt:AssetThumbnailURL$>
- MTAssetThumbnailLink がサムネイルを表示する img 要素を表示するのに対し、MTAssetThumbnailURL はサムネイルの URL のみを表示します。
-
height="70"
と指定されているので、画像のサムネイルの高さを70pxで出力します。
-
<$mt:AssetLabel$>
- アイテムをアップロードする際に設定したラベルを表示します。
-
<$mt:AssetURL$>
- 10行目~14行目 <mt:AssetsFooter>~</mt:AssetsFooter>
- MTAssets ブロックタグの中で、最後にだけ実行する条件タグです。
- ここでは、 <mt:AssetsHeader>~</mt:AssetsHeader> で表示したタグの閉じタグを出力します。
- 3行目~8行目 <mt:AssetsHeader>~</mt:AssetsHeader>
-
登録されているタグの使用頻度を視覚的(サイズの大小)にあらわして列挙するウィジェットです。
このウィジェットでは、<mt:Tags>~</mt:Tags> 、 <mt:If>~</mt:If> 、 <$mt:TagRank$> 、 <$mt:TagSearchLink$> 、<$mt:TagName$> 、 が利用されています。
- 1行目~14行目 <mt:Tags>~</mt:Tags>
- タグ一覧を表示するためのブロックタグです。
- モディファイアとして
top="20"
が指定されているため、登録されているタグの上位20個が対象となりループします。- 2行目~7行目 <mt:If>~</mt:If>
- モディファイアとして
name="__first__"
が指定されているのでタグのループ中1回目だけ、この間の処理が行われます。 - 表示されるのはウィジェットのヘッダと
<ul>
タグまでです。
- モディファイアとして
- 8行目
-
<$mt:TagRank$>
- 特定のタグの頻度を表示します。数値が小さい方が頻度が高くなります。
- モディファイアとして
max="10"
が指定されていて、頻度の基準値を指定します。
-
<$mt:TagSearchLink$>
- 特定のブログ内で、特定のタグを付加したコンテンツを検索するためのリンクです。
- モディファイアとして
encode_js="1"
が指定されているので、Java Script内で利用可能な文字列に変換します。
-
<$mt:TagName$>
- タグの名前を表示します。
-
<$mt:TagRank$>
- 9行目~13行目 <mt:If>~</mt:If>
- モディファイアとして
name="__last__"
が指定されているのでタグのループ中最後だけ、この間の処理が行われます。 - 表示されるのは
name="__first__"
で表示したタグの閉じタグになります。
- モディファイアとして
- 2行目~7行目 <mt:If>~</mt:If>
最新のコメントを最大10件表示するウィジェットです。
このウィジェットでは、<mt:If>~</mt:If> 、 <mt:Comments>~</mt:Comments> 、 <mt:CommentsHeader>~</mt:CommentsHeader> 、 <$mt:CommentAuthor$> 、 <$mt:CommentBody$> 、 <$mt:CommentLink$> 、 <mt:CommentEntry>~</mt:CommentEntry> 、 <$mt:EntryTitle$> 、 <mt:CommentsFooter>~</mt:CommentsFooter> が、利用されています。
- 1行目~16行目 <mt:If>~</mt:If>
- モディファイアに
tag="BlogCommentCount"
が指定されているので、当該のブログにコメントがある場合、ブロック内の処理を行います。- 2行目~15行目 <mt:Comments>~</mt:Comments>
- コメントを表示するためのブロックタグです。コメントを表示するときは、このブロックタグの内側に記述します。
- また、モディファイア lastn で、表示するコメント数を指定できます。指定しないとき、すべてのコメントが表示されます。ここでは
lastn="10"
と指定されているので、最大10件のコメントが表示されます。 - モディファイア
sort_order="descend"
が指定されているので、降順(新しい物から順)に表示されます。- 3行目~8行目 <mt:CommentsHeader>~</mt:CommentsHeader>
- コメントの一覧で最初のときだけ実行する条件タグです。最初のときブロックタグの内容を実行、表示します。
- 9行目
-
<$mt:CommentAuthor$>
- コメントの投稿時に入力されたコメント投稿者の名前を表示します。モディファイア default を指定することで、無記名のときに表示する名前を指定できます。
-
<$mt:CommentBody$>
- コメントの内容を表示します。
- モディファイアで
remove_html="1"
と書かれているので、HTMLタグが削除されます。 - モディファイアで
words="10"
が指定されているので、10文字に制限されます。
-
<$mt:CommentLink$>
- 投稿されたコメントへのパーマリンク URL を表示します。
-
<mt:CommentEntry>~</mt:CommentEntry>
- コメント元のブログ記事の内容を表示するためのブロックタグです。この中ではブログ記事に関係するタグを使うことができます。
-
<$mt:EntryTitle$>
- ブログ記事のタイトルを表示します。
-
<$mt:CommentAuthor$>
- 10行目~14行目 <mt:CommentsFooter>~</mt:CommentsFooter>
- コメントの一覧で最後のときだけ実行する条件タグです。最後のときブロックの内容を実行、表示します。
- 3行目~8行目 <mt:CommentsHeader>~</mt:CommentsHeader>
- 2行目~15行目 <mt:Comments>~</mt:Comments>
- モディファイアに
最近のブログ記事を新しい物順に10件表示するウィジェットです。
このウィジェットには、<mt:If>~</mt:If> 、 <mt:Entries>~</mt:Entries> 、 <mt:EntriesHeader>~</mt:EntriesHeader> 、 <$mt:EntryPermalink$> 、 <$mt:EntryTitle$> 、 <mt:EntriesFooter>~</mt:EntriesFooter> 、 が、利用されています。
- 1行目~16行目 <mt:If>~</mt:If>
- モディファイアとして
tag="BlogEntryCount"
が指定されているので、そのブログにブログ記事がある場合に、ブロックの内容を実行、表示します。- 2行目~15行目 <mt:Entries>~</mt:Entries>
- ブログのブログ記事の一覧のためのブロックタグです。
- モディファイアを指定することで、特定のカテゴリのブログ記事だけを抜き出すことや、日付順で指定した数のブログ記事を一覧することができます。
- ブログ記事アーカイブ以外のテンプレートでブログ記事を表示するときは、MTEntries ブロックタグを使います。
- モディファイアに
lastn="10"
が指定されているため、最新10件のブログ記事が処理されます。- 3行目~8行目 <mt:EntriesHeader>~</mt:EntriesHeader>
- MTEntries ブロックタグの中で、最初のブログ記事のときだけ実行するブロックタグです。ここでは、表題や
ul
タグの開始タグなどを表示します。
- MTEntries ブロックタグの中で、最初のブログ記事のときだけ実行するブロックタグです。ここでは、表題や
- 9行目
-
<$mt:EntryPermalink$>
- ブログ記事を含むアーカイブの絶対 URL を表示します。
- <$MTEntryLink$> ファンクションタグとの違いは、ブログ記事へのアンカーが付加される点です。
- カテゴリアーカイブのように複数のブログ記事が掲載されるページでも、目的のブログ記事にリンクできます。
-
<$mt:EntryTitle$>
- ブログ記事のタイトルを表示します。
-
<$mt:EntryPermalink$>
- 10行目~14行目 <mt:EntriesFooter>~</mt:EntriesFooter>
- MTEntries ブロックタグの中で、最後のブログ記事のときだけ実行するブロックタグです。
- 3行目~8行目 <mt:EntriesHeader>~</mt:EntriesHeader>
- 2行目~15行目 <mt:Entries>~</mt:Entries>
- モディファイアとして
今回使用したタグは以下の3つです。
- ファンクションタグ
- <$mt:foo$>等と記述するとMovable Typeの設定やデータなどが表示されます。
- ブロックタグ
- <mt:hoges>~</mt:hoges>等と表記すると、対応するhogeオブジェクトが列挙されるなどの処理を行います。
- コンディショナルタグ
- <mt:ifbar>~<\mt:ifbar>等と記述すると条件に応じて囲われた内部の処理(今回は表示の可否)を行います。
今回の一連のウィジェットは最初から最後まで <mt:If>~</mt:If>
タグで囲い、条件文によって表示、非表示を切り替える物が多くありました。
また大事なのは <mt:Else>
で、 <mt:If>
タグの内部で利用する事によって、 <mt:If>
タグの条件文に合わない場合に、 <mt:Else>
タグの内容を処理する点です。
<mt:If (条件文)> #処理A <mt:Else> #処理B </mt:If>
これらの利用により、複雑な処理が出来るようになります。
もっと知りたい方は <mt:If>タグリファレンス を参考にしてみてください。
- 1. ウィジェット
- 「Powered By」「Technorati Search」「OpenID対応」「クリエイティブ・コモンズ」
- 「ホームページウィジェットグループ」「購読」「アイテム」「タグクラウド」「最近のコメント」「最近のブログ記事」
- 「ユーザーアーカイブ」「ユーザー月別アーカイブ」「日付ベースのカテゴリアーカイブ」「日付ベースのユーザーアーカイブ」「月別アーカイブ」「月別アーカイブ(ドロップダウン)」「検索」
- 「アーカイブウィジェットグループ」「カテゴリアーカイブ」「カテゴリ月別アーカイブ」「カレンダー」「サインイン」「ページ一覧」「About」
- 2. MTML(初級編)
- 3. MTML(応用編)