home > 5 Star Comment Rating - Movable Type プラグイン
5 Star Comment Rating - Movable Type プラグイン
- 2010年1月12日 12:31
- Movable Type プラグイン
5 Star Comment Rating とは

Movable Type でサイトを構築するとき、ユーザーからのフィードバックを受けたり、記事に対する評価や感想をいただいたりするために、コメント機能をカスタマイズして利用することは意外と多いのではないでしょうか?
5 Star Comment Rating とは、Movable Type のコメント機能を利用して、ブログ記事に5つ星の評価を追加することができるプラグインです。
また、モディファイアを設定するだけで複数の5つ星評価を利用することができます。
動作環境
Movable Type 4.2、5 で動作確認済み
jQuery必須
ダウンロード
以下のページより、最新版をダウンロードしてください。Twitterで最初につぶやいてから本体ファイルに修正を加えていますのでご注意ください。
インストール
ダウンロードしたファイルを解凍し、「plugins / CommentRating」フォルダを Movable Type の「plugins」ディレクトリに、「mt-static / plugins / CommentRating」を Movable Type の「mt-static / plugins」ディレクトリにそれぞれアップロードしてください。
- plugins
- CommentRating
- mt-static
- plugins
- CommentRating
- plugins
ブログメニューまたはシステムメニューの「プラグイン」を開き、プラグイン一覧の中に「5 Star Comment Rating」が表示されていればインストール成功です。
使い方
データベースのアップグレード
プラグインをアップロードしてから初めて Movable Type の管理画面にアクセスするとデータベースのアップグレード画面になります。そのまま手順に沿ってアップグレードしてください。



この作業で、「mt_comment_rating」というテーブルが追加され、さらに「mt_comment」テーブルに「comment_repetition」というカラムが追加されます。
プラグインを有効化
次に、プラグインの設定画面で、「有効にする」にチェックを入れ「変更を保存」をクリックするとプラグインが有効化されます。

なお、ウェブサイトを複数のブログで運営している場合、「システムメニュー」のプラグインの設定を変更すれば、全ブログに反映されます。個々のブログで設定したい場合は「ブログメニュー」のプラグインの設定を変更します。「システムメニュー」の設定より「ブログメニュー」の設定が優先されます。
5つ星評価の項目の設定
次に、5つ星評価の項目名を、プラグインの設定画面の「キー」欄に入力し変更を保存します。項目名に設定できる値は、すべて半角の英数字、ハイフン、アンダースコアのみになります。
複数の項目を設置する場合は、キー欄に半角スペースで区切って複数の項目名を入力します。
例えば、「パワー」「スピード」「スタミナ」という3つの項目を5つ星で評価させたい場合は、キー欄に「power speed stamina」と入力します。

小数第1位まで表示(オプション)
プラグインの設定画面で「端数」にチェックを入れて変更を保存すると、端数が生じる場合の評価の値を少数第1位まで出力することができます。
IPアドレスの重複チェック(オプション)
プラグインの設定画面で「IPチェック」にチェックを入れて変更を保存すると、コメント投稿者のIPアドレスが重複する場合は評価を保存しないようにできます。
つまり、一つのブログ記事に対して、コメントは複数回できますが、保存する評価は1回のみにすることができます。
CSSとJavaScriptの読み込み
(X)HTMLのhead内で、このプラグインの動作に必要なCSSとJavaScriptを次のように読み込みます。星印の動作は、jQueryで実装されているので、jQueryの読み込みが必須となります。
<link rel="stylesheet" href="<mt:StaticWebPath />plugins/CommentRating/commentrating.css" type="text/css" />
<script type="text/javascript" src="<mt:StaticWebPath />plugins/CommentRating/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<mt:StaticWebPath />plugins/CommentRating/commentrating.js"></script>
もちろん、CSSファイルやJavaScriptファイルは、サイトで使用している他のCSSファイル等の場所に移動しても構いませんし、jQueryもGoogle Ajax APIを利用して読み込んでも構いません。
コメントフォームのカスタマイズ
コメント入力欄の5つ星評価を追加したい場所に、次のようなコードを挿入します。このソースコードの形は変えないでください。span.star-btnは、コードの視認性を考えるとspan.btn要素で改行したくなりますが、ブラウザによっては星印がずれてしまうので、1行で書いてください。
<span class="star-btn"><span class="btn" title="1"><span class="text">星1つ</span></span><span class="btn" title="2"><span class="text">星2つ</span></span><span class="btn" title="3"><span class="text">星3つ</span></span><span class="btn" title="4"><span class="text">星4つ</span></span><span class="btn" title="5"><span class="text">星5つ</span></span></span>
<input type="hidden" name="xxx" value="<mt:If name="comment_preview"><$mt:CommentRating key="xxx"$></mt:If>" />
- 【2010-01-14 追記】
- 公開当初は<a href="#" title="1">のように実装していましたが、文法エラーになるとの指摘があったのでspan要素に変更しました。spanが続いて気持ち悪いですが、おまじないだと思って目をつぶってください。
このソースの「xxx」の部分には、5つ星評価の項目名が入ります。つまり、先ほどプラグインの設定画面のキー欄に入力した値のいずれかが入ることになります。
例えば、「パワー(power)、スピード(speed)、スタミナ(stamina)」という3つの5つ星評価を付けたい場合は、コメント入力フォームに次のようなコードを挿入します(MT5 プロフェッショナルブログの場合)。
<div id="comment-form-power">
<label for="comment-power">パワー</label>
<span class="star-btn"><span class="btn" title="1"><span class="text">星1つ</span></span><span class="btn" title="2"><span class="text">星2つ</span></span><span class="btn" title="3"><span class="text">星3つ</span></span><span class="btn" title="4"><span class="text">星4つ</span></span><span class="btn" title="5"><span class="text">星5つ</span></span></span>
<input type="hidden" id="comment-power" name="power" value="<mt:If name="comment_preview"><$mt:CommentRating key="power"$></mt:If>" />
</div>
<div id="comment-form-speed">
<label for="comment-speed">スピード</label>
<span class="star-btn"><span class="btn" title="1"><span class="text">星1つ</span></span><span class="btn" title="2"><span class="text">星2つ</span></span><span class="btn" title="3"><span class="text">星3つ</span></span><span class="btn" title="4"><span class="text">星4つ</span></span><span class="btn" title="5"><span class="text">星5つ</span></span></span>
<input type="hidden" id="comment-speed" name="speed" value="<mt:If name="comment_preview"><$mt:CommentRating key="speed"$></mt:If>" />
</div>
<div id="comment-form-stamina">
<label for="comment-stamina">スタミナ</label>
<span class="star-btn"><span class="btn" title="1"><span class="text">星1つ</span></span><span class="btn" title="2"><span class="text">星2つ</span></span><span class="btn" title="3"><span class="text">星3つ</span></span><span class="btn" title="4"><span class="text">星4つ</span></span><span class="btn" title="5"><span class="text">星5つ</span></span></span>
<input type="hidden" id="comment-stamina" name="stamina" value="<mt:If name="comment_preview"><$mt:CommentRating key="stamina"$></mt:If>" />
</div>
テンプレートで注意しなければならいのは、次の3点です。
- span.star-btn は1行で書くこと。
- span.star-btn の直後にinput(type : hidden)要素を置くこと。
- input(type : hidden)要素のname属性には、プラグインのキー欄で設定した値を書くこと。
これでブログ記事に対する評価も、通常のコメントと同様に保存されます。
後はテンプレートタグで値と取り出すだけです。
テンプレートタグ
このプラグインをインストールすると、以下のファンクションタグが使えるようになります。
- MTCommentRating
- MTCommentRatingStar
- MTEntryRating
- MTEntryRatingStar
- MTEntryRatingCount
MTCommentRatingタグ
投稿されたコメントに付随する評価の値が出力されます。
MTCommentRatingStarタグ
投稿されたコメントに付随する評価の値が5つ星で出力されます。前述のCSSとJavaScriptの読み込みが必須です。
MTEntryRatingタグ
ブログ記事に付けられた評価の値が出力されます。
MTEntryRatingStarタグ
ブログ記事に付けられた評価の値が5つ星で出力されます。前述のCSSとJavaScriptの読み込みが必須です。
MTEntryRatingCountタグ
ブログ記事に付けられた評価の数(個数)が出力されます。
keyモディファイア
すべてのタグに共通して使えるモディファイアです。プラグインの設定画面のキー欄に入力したいずれかの項目名を指定します。これにより、上記ファンクションタグの出力結果を、指定した項目名だけに絞り込めます。
既知の問題
現時点ではコメントプレビューに対応していません。コメントプレビューを無効にしてお使いください。
ライセンス
個人利用・商用利用を問わず、このプラグインを無償で自由に利用することができます。プラグインの著作権は作者が所有しています。
このプラグインは無保証です。作者は、基本的に、このプラグインの利用における動作保証とサポートを行いません(ローカル環境では念入りにテストしています)。
プラグインのカスタマイズは有料になります。お問い合わせよりご相談ください。
更新履歴
- 【2010-01-20】
端数が生じる場合の評価の値を少数第1位まで出力することができるようにしました。
5 Star Comment Rating プラグインに関するブログ記事
TrackBack [1]
- TrackBack URL
- Link to this Entry
- Movable type 5::プラグインの追加に挑戦してみる
-
Movable typeではたくさんのプラグインが提供されていて、色々と利用する機会も多いと思うので、追加にチャレンジしたいと思います。本家のサイトにある...
From in a state of ease on 2010年4月30日 15:51



5 Star Comment Rating を早速つかわせていただいてます。
まさに欲しかったプラグインで、大変喜んでおります。
一点、お聞きしたいことがあります。
MTEntryRatingで全体の平均値が出力されますが、現在は小数点以下は切り捨てて出力されますが、これを小数点第一位まで表示などに変更はできないのでしょうか?
すみません。自己解決しました。
すばらしいプラグインありがとうございました。
活用させていただきます。
Valkyrie さん、コメントありがとうございます。
返信が遅くなってしまってすみません。このプラグインは、最初は少数第1位までで作っていましたが、最後に「やっぱ整数でいいか」って変更した経緯があるので、少数第1位までにすることは可能です。
自己解決されたようで良かったです。よろしくお願いいたします。
mt3.3では、やっぱり使えないのでしょうか。
試しにアップロードしてみたら、Movable Type の管理画面にアクセスしたところで、エラーというか、接続できない状況になりました。
なんとか、使いたいのですが、ダメなんですかねー。
tomozo さん、コメントありがとうございます。
MT3.3 には対応していません。また、今後も対応する予定もありません。
せっかくなのにすみません><
現在構築中のブログサイトに、丁度星評価機能を付加しようと思っていたところでした。早速試してみます。
コメントプレビュー対応版が出来ることを期待しています。
はじめまして!
素人ながら口コミレビューサイトを構築したいと考え、あれこれ勉強しておりました。まさに欲していた、すばらしいプラグインを開発してくださり本当にありがとうございます。
記事の評価が高い順に、ランキング表示できたらさらにプラグインが生きると思うのですが、実装予定は無いですかね(>0<)
ご無理を申し失礼致しました。すみません。
mamakoさん、コメントありがとうございます。
ランキング表示なら、テンプレートの書き方次第で実現できると思います。
ブログ記事にするので、少々お待ちください。
ご返信ありがとうございます!
ブログ記事にしてくださるとの事とても感激しています(*;−;*)
ありがとうございます、楽しみにしています。
よろしくお願い申し上げます。
mamakoさん、ブログ記事にしてみたのでご確認ください。
5 Star Comment Rating を使ってブログ記事の評価ランキングを作るテンプレート
http://www.tinybeans.net/blog/2010/06/25-121543.html
お役に立ちますでしょうか。