コメント番号を降順で表示する
Movable Type 4(4.1~)で、ブログ記事に表示されるコメントのコメント番号を降順で表示するカスタマイズです。
1.MTCommentOrderNumber タグについて
コメント番号を表示するには、MTCommentOrderNumber タグを利用します。このタグは、コメント一覧に表示するコメントに対し、1から順番に番号(以下「コメント番号」)を付与するためのファンクションタグです。
デフォルトテンプレート(MT4.2 コメントテンプレートモジュール)での使用例は次の通りです。青色の MTCommentOrderNumber タグを追加します(そもそも特殊変数 __counter__ を利用するという手もありますが)。あと、説明の都合上、MTComments タグに sort_order="ascend" を付与して昇順に表示します。
...前略...
<mt:Comments sort_order="ascend">
<mt:CommentsHeader>
<h2 class="comments-header"><$mt:EntryCommentCount singular="コメント(1)" plural="コメント(#)" none="コメント(0)"$></h2>
<div class="comments-content">
</mt:CommentsHeader>
<div id="comment-<$mt:CommentID$>" class="comment<mt:IfCommentParent> comment-reply</mt:IfCommentParent><mt:IfCommenterIsEntryAuthor> entry-author-comment</mt:IfCommenterIsEntryAuthor>">
<div class="inner">
<div class="comment-header">
<div class="asset-meta">
<span class="byline">
<$mt:CommentAuthorIdentity$>
<mt:IfCommentParent>
<span class="vcard author"><$mt:CommentAuthorLink$></span>から<a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>"><mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent></a>への返信
<mt:Else>
<span class="vcard author"><$mt:CommentAuthorLink$></span>
</mt:IfCommentParent>
| <a href="<$mt:CommentLink$>"><abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr></a>
<mt:IfCommentsAccepted>
| <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
[ <mt:CommentOrderNumber /> ]
</span>
</div>
</div>
<div class="comment-content">
<$mt:CommentBody$>
</div>
</div>
</div>
<mt:CommentsFooter>
</div>
</mt:CommentsFooter>
</mt:Comments>
...後略...
上記の完成例(「返信」の右側に表示されているのがコメント番号)
ただし、MTComments タグに sort_order="descend" を与えて、コメントを降順に表示しても、次のようにコメント番号は降順に表示されません。
MTCommentOrderNumber タグは、MTComments タグの表示条件や処理中のコメントに連動するわけではなく、単純なインクリメントしか行なわないためです。
2.コメント番号を降順に表示するカスタマイズ
コメント番号を降順に表示するには、元の「コメント」テンプレートモジュールに、次の青色部分を追加します。MTEntryCommentCount タグでブログ記事のコメント数を取得し、MTComments タグの繰り返し処理の中で、その値を表示&デクリメントします。MTCommentOrderNumber タグは用いません。
...前略...
<mt:entryCommentCount setvar="entry_comment_count" />
<mt:Comments sort_order="descend">
<mt:CommentsHeader>
<h2 class="comments-header"><$mt:EntryCommentCount singular="コメント(1)" plural="コメント(#)" none="コメント(0)"$></h2>
<div class="comments-content">
</mt:CommentsHeader>
<div id="comment-<$mt:CommentID$>" class="comment<mt:IfCommentParent> comment-reply</mt:IfCommentParent><mt:IfCommenterIsEntryAuthor> entry-author-comment</mt:IfCommenterIsEntryAuthor>">
<div class="inner">
<div class="comment-header">
<div class="asset-meta">
<span class="byline">
<$mt:CommentAuthorIdentity$>
<mt:IfCommentParent>
<span class="vcard author"><$mt:CommentAuthorLink$></span>から<a href="<mt:CommentParent><$mt:CommentLink$></mt:CommentParent>"><mt:CommentParent><$mt:CommentAuthor$></mt:CommentParent></a>への返信
<mt:Else>
<span class="vcard author"><$mt:CommentAuthorLink$></span>
</mt:IfCommentParent>
| <a href="<$mt:CommentLink$>"><abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr></a>
<mt:IfCommentsAccepted>
| <$mt:CommentReplyToLink$>
</mt:IfCommentsAccepted>
[ <mt:getVar name="entry_comment_count" /> ]
<mt:setVar name="entry_comment_count" op="--" />
</span>
</div>
</div>
<div class="comment-content">
<$mt:CommentBody$>
</div>
</div>
</div>
<mt:CommentsFooter>
</div>
</mt:CommentsFooter>
</mt:Comments>
...後略...
上記の完成例
Posted by yujiro このページの先頭に戻る
- Movable Typeのコメント完了ページの内容を記事ごとに振り分ける方法
- Movable Typeで特定カテゴリのコメントを表示する方法
- Movable TypeでreCaptchaを利用する
- Movable Typeでカテゴリ別+ブログ記事別に新着コメントを表示する
- Movable Type 5でコメント投稿フォームをポップアップする
- Movable TypeのコメントでFacebookアカウント認証を有効にする
- Yahoo! JAPAN OpenID を省略表示する(その2)
- コメントにHTMLタグ挿入ボタンをつける(MT4/MT5版)
- コメント投稿にTwitterのOAuth認証を導入
- Movable Type 5でのMTCommentsタグの動作
- ブログ記事とコメントをひとつのフィードで配信する
- Movable Typeのコメント一覧からウェブページのコメントを除外して表示する
- Movable Typeのコメントにimg要素を許容する
- Movable Type(MT)のコメント投稿者の承認と禁止について
- Movable Type 5(MT5)のコメントのページ分割機能(その2:カスタマイズ)
トラックバックURL
コメントする
greeting