これまでこのブログの「最近のコメント」表示は、最新のコメントがあた記事から3件の記事と、それぞれ最大3コメントを表示していました。でも、これでは真の最近のコメントを表示できません。
他のことを調べていて、たまたま小粋空間の“MTCollate を使って「最近のコメント」を表示する”のエントリーを見つけ、参考にさせていただきながら、真の「最近のコメント」が表示されるように改良しました。
MTCollate プラグインは既に別の用途で導入していましたので、テンプレートを書き換えるのみですが、各ブログをリストとして表示し、その中のコメントは改行して表示するように変更しました。
<MTCollateCollect>
<MTComments lastn="10">
<MTCollateRecord>
<MTCollateSetField name="comment_id"><$MTCommentID$></MTCollateSetField>
<MTCollateSetField name="comment_author"><$MTCommentAuthor encode_html="1" default="Anonymous"$> </MTCollateSetField>
<MTCollateSetField name="comment_date"><$MTCommentDate format="%m/%d"$></MTCollateSetField>
<MTCollateSetField name="comment_date_new"><$MTCommentDate format="%Y/%m/%d %H:%M:%S"$></MTCollateSetField>
<MTCommentEntry>
<MTCollateSetField name="entry_key"><MTComments lastn="1"><$MTCommentDate format="%y%m%d%H%M%S"$></MTComments></MTCollateSetField>
<MTCollateSetField name="entry_link"><$MTEntryPermalink$></MTCollateSetField>
<MTCollateSetField name="entry_title"><$MTEntryTitle encode_html="1"$></MTCollateSetField>
</MTCommentEntry>
</MTCollateRecord>
</MTComments>
</MTCollateCollect>
<div class="module-comments module">
<h2 title="最近のコメント">Recent Comments</h2>
<ul>
<MTCollateList sort="entry_key:#:- comment_id:#:+">
<MTCollateIfHeader name="entry_key">
<li><a href="<$MTCollateField name="entry_link"$>" title="<$MTCollateField name="entry_title" encode_html="1"$>"><$MTCollateField name="entry_title"$></a><br /></MTCollateIfHeader>
└ <?php print_new('<$MTCollateField name="comment_date_new"$> <$MTBlogTimeZone$>'); ?><a href="<$MTCollateField name="entry_link"$>#<$MTCollateField name="comment_id"$>"><$MTCollateField name="comment_author" encode_html="1"$></a>(<$MTCollateField name="comment_date"$>)<MTCollateIfFooter name="entry_key"></li><MTElse><br /></MTElse></MTCollateIfFooter>
</MTCollateList>
</ul>
</div><!-- /.module-comments module -->
2008年1月7日 新着コメントの“New”表示の部分の記述に誤りがありましたので修正しました。なお、“New”表示は別途 phpのテンプレートを作り、これを読み込んでいます。






Recent Comments