• Home
  • Movable Type
  • 5 Star Comment Rating プラグインで記事に付いた各評価ごとのコメント数を表示させる

5 Star Comment Rating プラグインで記事に付いた各評価ごとのコメント数を表示させる

Movable Type のコメント機能を利用して、ブログ記事に5つ星の評価を追加することができる「5 Star Comment Rating」プラグインで、「ブログ記事につけられた各評価ごとの数を表示させることは可能なのでしょうか?」というご質問をいただきました。

実現したいのは以下のような感じです。

----------------------
★★★★★:5人
★★★★☆:3人
★★★☆☆:1人
★★☆☆☆:0人
★☆☆☆☆:1人
計:10人
----------------------

これは以下のようなテンプレートを記事アーカイブテンプレートに書けば実現できます。

<mt:SetVar name="rating_1" value="0">
<mt:SetVar name="rating_2" value="0">
<mt:SetVar name="rating_3" value="0">
<mt:SetVar name="rating_4" value="0">
<mt:SetVar name="rating_5" value="0">

<mt:Comments>
 <mt:CommentRating setvar="rating">
 <mt:If name="rating" eq="1">
 <mt:SetVar name="rating_1" op="++">
 <mt:ElseIf eq="2">
 <mt:SetVar name="rating_2" op="++">
 <mt:ElseIf eq="3">
 <mt:SetVar name="rating_3" op="++">
 <mt:ElseIf eq="4">
 <mt:SetVar name="rating_4" op="++">
 <mt:ElseIf eq="5">
 <mt:SetVar name="rating_5" op="++">
 </mt:If>
</mt:Comments>

<mt:Ignore>以下出力部分</mt:Ignore>
<pre>
例えば以下の具合に
----------------------
★★★★★:<mt:Var name="rating_1">人
★★★★☆:<mt:Var name="rating_2">人
★★★☆☆:<mt:Var name="rating_3">人
★★☆☆☆:<mt:Var name="rating_4">人
★☆☆☆☆:<mt:Var name="rating_5">人
計:<mt:EntryRatingCount>人
----------------------
</pre>

MTCommentsのところで、CommentRating(評価)で条件分岐してインクリメントしています。

5 Star Comment Rating プラグインで提供されるテンプレートタグについては、以下のページを参照してください。

以上です。