TopMovable Typeカスタマイズコメント > コメント一覧からウェブページのコメントを除外して表示する
2010年8月18日

コメント一覧からウェブページのコメントを除外して表示する

Posted at August 18,2010 1:33 AM
Category:[コメント]
Tag:[, ]

Movable Type 4、Movable Type 5で、コメント一覧からウェブページのコメントを除外して表示するカスタマイズを紹介します。

変更前
コメント一覧

変更後
コメント一覧(ブログ記事のみ)

1.基本

MTCommentsタグは、MTEntriesタグ内部で使った場合はブログ記事へのコメント、MTPagesタグ内部で使った場合はウェブページのコメントを出力しますが、単独(=MTEntriesタグやMTPagesタグで括らない)で利用した場合は、ブログ記事/ウェブページの両方のコメントを出力する仕様になっています。

MTCommentsタグには、ブログ記事/ウェブページのどちらへのコメントかを判定するモディファイアは用意されていません。

投稿コメントが、ブログ記事/ウェブページのどちらへのコメントかを判定するには、次のようにMTCommentsタグ、MTCommentEntryタグ、MTIfタグを組み合わせます。

<mt:Comments>
  <mt:CommentEntry>
    <mt:if tag="EntryClass" eq="entry">
      [ここに出力内容を記述]
    </mt:if>
  </mt:CommentEntry>
</mt:Comments>

MTIfタグにはtagモディファイアを与え、MTEntryClassタグを判定します。MTEntryClassタグの内容が「entry」であればブログ記事への投稿、「page」であればウェブページへの投稿を示します。

2.ブログ記事のコメントのみを出力する

MTCommentsタグを単独で利用して、ブログ記事のコメントのみを出力するサブテンプレートを紹介します。

冒頭の画像のように、デフォルトの「最近のコメント」ウィジェットでブログ記事のコメントのみを出力するには、次のように変更します。青色が追加部分、赤色が変更部分です。

<mt:If tag="BlogCommentCount">
  <mt:SetVar name="comment_counter" value="0" />
  <mt:Comments lastn="0" sort_order="descend">
    <mt:CommentsHeader>
<div class="widget-recent-comments widget">
  <h3 class="widget-header">最近のコメント</h3>
  <div class="widget-content">
    <ul>
    </mt:CommentsHeader>
    <mt:CommentEntry>
      <mt:if tag="EntryClass" eq="entry">
        <mt:if name="comment_counter" lt="10">
      <li><strong><$mt:CommentAuthor$>:</strong> <$mt:CommentBody remove_html="1" words="10"$> <a href="<$mt:CommentLink$>" title="<mt:CommentEntry><$mt:EntryTitle$></mt:CommentEntry>へのコメント">続きを読む</a></li>
        <mt:SetVar name="comment_counter" op="++" />
        </mt:if>
      </mt:if>
    </mt:CommentEntry>
    <mt:CommentsFooter>
    </ul>
  </div>
</div>
    </mt:CommentsFooter>
  </mt:Comments>
</mt:If>

MTIfタグのeqモディファイアの値「entry」を「page」に変更すれば、ウェブページへのコメント一覧を表示できます。

コメント一覧(ウェブページのみ)

「最近のコメント」をネイティブタグのみで適正に表示する」で紹介しているサブテンプレートでブログ記事のみを出力する場合、次のように変更します。青色が追加部分、赤色が変更部分です。

MTCommentEntryの終了タグは位置を変更しています。これは、ウェブページの処理を行った場合に不要な処理が実行されないようにするための対処です。

<mt:SetVar name="comment_counter" value="0" />
<mt:Comments lastn="0" sort_order="descend">
  <mt:CommentEntry>
    <mt:if tag="EntryClass" eq="entry">
      <mt:if name="comment_counter" lt="10">
        <mt:SetVarBlock name="entry_title"><a href="<mt:EntryPermalink />"><mt:EntryTitle /></a></mt:SetVarBlock>
        <mt:SetVarBlock name="entry_comment">
    <li><a href="<mt:EntryPermalink />#c<mt:CommentID />"><mt:CommentAuthor default="Anonymous"></a> <mt:CommentDate format="%m/%d"></li>
        </mt:SetVarBlock>
        <mt:SetVar name="comment_list{$entry_title}" value="$entry_comment" prepend="1" />
        <mt:SetVar name="comment_counter" op="++" />
      </mt:if>
      <mt:SetVar name="flag" value="0" />
      <mt:loop name="title_list">
        <mt:if name="__value__" eq="$entry_title">
          <mt:SetVar name="flag" value="1" />
        </mt:if>
      </mt:loop>
      <mt:unless name="flag">
        <mt:SetVar name="push(title_list)" value="$entry_title" />
      </mt:unless>
    </mt:if>
  </mt:CommentEntry>
</mt:Comments>
 
<dt class="sidetitle">
Recent Comments
</dt>
<dd class="side">
  <ul>
<mt:loop name="title_list">
    <li>
    <mt:getVar name="__value__" />
      <ul>
    <mt:getVar name="comment_list{$__value__}" />
      </ul>
    </li>
</mt:loop>
  </ul>
</dd>
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