mtタグを少しずつ覚える2

user-pic
0

エントリーフッターを理解する。


< MTEntires>
.............
< p class="entry-footer" >
< span class="post-footers" >投稿者: < $MTEntryAuthorDisplayName$ > 日時: < $MTEntryDate format="%X"$ >< /span > < span class="separator" >|< /span > < a class="permalink" xhref="< $MTEntryPermalink$ >" >パーマリンク< /a >
< MTIfCommentsActive >| < a xhref="< $MTEntryPermalink$ >#comments" >コメント (< $MTEntryCommentCount$ >)< /a >< /MTIfCommentsActive >
< MTIfPingsActive >| < a xhref="< $MTEntryPermalink$ >#trackback" >トラックバック (< $MTEntryTrackbackCount$ >)< /a >< /MTIfPingsActive >
< /p >
.............
< /MTEntries >

< $MTEntryAuthorDisplayName$ > エントリー投稿者の名前
< $MTEntryDate format="%X"$ > エントリー投稿日時
< $MTEntryPermalink$ > エントリーへのパーマリンク
< $MTEntryCommentCount$ > エントリーへのコメント数
< $MTEntryTrackbackCount$ > エントリーへのトラックバック数
< $MTEntryPermalink$ >は、URLになる変数タグですが、このURLに#commentや#trackbackといったアンカーが付いています。これによって、リンク先はページの指定の位置になります。

条件を表すコンテナタグ
Ifとは、「もしも」という意味の英語です。これら2つのコンテナタグは読んで字のごとし、「もしコメントがアクティブならば」「もしPingがアクティブならば」となっています。コメントやPingがアクティブとはどういう意味でしょうか? Movable Typeはエントリーごとにコメントやトラックバックを受け付けるかどうかを設定することが出来ます。これらは、エントリー投稿画面で設定しますが、いちいちテンプレートで表示・非表示を切り替えるのでは面倒です。コメントを表示する設定になっている場合には、コンテナタグ内を処理し、表示しない設定になっている場合は、タグ内を処理しない、と分けることで、テンプレートは一定のままで、コメントやトラックバックの表示・非表示を設定しているのです。
このようなMTIf〜となっている条件文的なコンテナタグはたくさんありますが、基本的な使い方は全て同じ、条件に一致するならばタグの中を処理し、一致しないならば無視する、ということです。

カテゴリ名を表記する
フッタ部分にカテゴリ名を表示してみましょう。
カテゴリーのラベル(名前)を表すという、<$ MTCategoryLabel$>がそうです。これを、フッタの好きな位置に入れましょう。当サイトでは、区切りの線(|)を入れて、トラックバックの右に表示することにしました。

< span class="post-footers" >投稿者: < $MTEntryAuthorDisplayName$ > 日時: < $MTEntryDate format="%X"$ >< /span > < span class="separator" >|< /span > < a class="permalink" xhref="< $MTEntryPermalink$ >" >パーマリンク< /a > < MTIfCommentsActive >| < a xhref="< $MTEntryPermalink$ >#comments" >コメント (< $MTEntryCommentCount$ >)< /a >< /MTIfCommentsActive > < MTIfPingsActive >| < a xhref="< $MTEntryPermalink$ >#trackback" >トラックバック (< $MTEntryTrackbackCount$ >)< /a >< /MTIfPingsActive > < /p >< span class="separator" >|< /span > < $MTCategoryLabel$ >

さて、これで表示してみると分かりますが、折角カテゴリ名が表示されているのに、リンクになっていません。カテゴリアーカイブへのリンクにしたいですよね。そこで、アンカータグ(aタグ)とカテゴリアーカイブへのリンクを表す変数タグを使って、リンクを作ってみましょう。カテゴリアーカイブへのリンクは、<$MTCategoryArchiveLink$>という変数タグを使います。ただし、これだけではエラーが出てしまいます。そこで、そのエントリーに指定されているカテゴリを取り出すコンテナタグ、を使います。アトリビュートのglue=", "は、カテゴリが複数指定されていたときに、カンマ区切りで表示する指定です。これとアンカータグを組み合わせると、以下のようになります。

< span class="separator" >|< /span > < MTEntryCategories glue=", " > < a xhref="< $MTCategoryArchiveLink$ >" >< $MTCategoryLabel$ >< /a > < /MTEntryCategories >

これでフッタ部分にカテゴリ名と、カテゴリアーカイブへのリンクができあがったはずです。フッタ部分は、メインページと個別アーカイブでは違うので、他のページは自分の好みでカテゴリ名を加えてみてください。

< $MTCategoryLabel$> カテゴリ名を表す変数タグ
< $MTCategoryArchiveLink$> カテゴリアーカイブへのリンクを表す変数タグ。< MTEntryCategories>と組み合わせて使う
< MTEntryCategories> そのエントリーに指定されているカテゴリを取り出すコンテナタグ。アトリビュートglue=""は複数カテゴリが指定されていたときの区切り文字を指定する。

トラックバック(0)

トラックバックURL: http://mountainbook.net/mt-tb.cgi/688

コメントする

月別アーカイブ

このブログ記事について

このページは、が2007年7月 4日 11:50に書いたブログ記事です。

ひとつ前のブログ記事は「mtタグを少しずつ覚える」です。

次のブログ記事は「サイト内検索ツール MSN Yahoo! Mooter Google」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。