TopMovable Typeカスタマイズコメント > コメント番号を降順で表示する
2009年6月 3日

コメント番号を降順で表示する

Posted at June 3,2009 2:07 AM
Category:[コメント]
Tag:[, , ]

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   このページの先頭に戻る
関連記事
この記事を読んだ人はこんな記事も読んでいます
人気エントリー
Hatena Hot Entries
Hatena Entries
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

Now loading...
Introduction
Entries of this Category
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 5.12