PowerCMS™

PowerCMS ブログ

ホーム > PowerCMS ブログ > コメントを評価する機能を追加する LikeComment プラグイン

2015年09月30日

コメントを評価する機能を追加する LikeComment プラグイン

PowerCMS ではユーザーのログインが必要な会員制サイトを簡単に構築できます。コミュニティ機能的な盛り上がりのために、コメント機能を利用するサイトの構築要件のために「コメントを評価する」プラグインを作成しました(記事を評価する機能はコミュニティ機能にありますが、コメントを評価する機能が Movable Typeにはありません)。

MTのコメント機能ですが、コミュニティサイト系の案件で活用するケースも再び増えて来ている気がします。

mt-comments.cgiに methods(__mode=like)を追加する実装とし、jsonで戻り値を戻すようにしています(Data APIのエンドポイントを追加したほうがきれいだったかな、と後で思いましたが...)。ダイナミックで数を表示するテンプレートタグをあわせて作成しました。

データベースに一つテーブルを追加するので、インストール時にはDBのバックアップをお願いします。

リクエスト

mt-comments.cgi?__mode=like&_type=add_like&comment_id=1&blog_id=1

すべてのリクエストはログインしている必要があります。

_type パラメタの値

_type値意味
add_like評価する
take_like評価を取り消す
add_not_like評価しない
take_not_like評価しないを取り消す
get_likes評価する、しない数を得る

テンプレートタグ

テンプレートタグ動作
<MT:IfAuthorLikeThisComment>ログインユーザがコメントを評価している
<MT:IfAuthorNotLikeThisComment>ログインユーザがコメントを評価している
<MT:CommentLikeCount>評価するの数
<MT:CommentNotLikeCount>評価しないの数
<MT:CommentLikeTotalCount>評価する、評価しないの合計

_type ごとのリクエストと戻り値

評価/評価しない数を得る

リクエスト

http://www.example.com/mt-comments.cgi?__mode=like&blog_id=1&comment_id=1&_type=get_likes

戻り値

{"comment_id":"1","status":"success","likes":{"like":"10","not_like":"5","total":"15"},"message":"Likes of this comment."}

評価する

リクエスト

http://www.example.com/mt-comments.cgi?__mode=like&blog_id=1&comment_id=1&_type=add_like

戻り値

{"comment_id":"1","status":"success","likes":{"like":"11","not_like":"5","total":"16"},"message":"You like this comment."}

評価を取り消す

リクエスト

http://www.example.com/mt-comments.cgi?__mode=like&blog_id=1&comment_id=1&_type=take_like

戻り値(評価していなかったときはこのように返る)

{"comment_id":"1","status":"not changed","likes":{"like":"11","not_like":"5","total":"16"},"message":"You do not have to evaluate this comment."}

評価しない

リクエスト

http://www.example.com/mt-comments.cgi?__mode=like&blog_id=1&comment_id=1&_type=add_not_like

戻り値

{"comment_id":"1","status":"success","likes":{"like":"11","not_like":"6","total":"17"},"message":"You do not like this comment."}

評価しない、を取り消す

リクエスト

http://www.example.com/mt-comments.cgi?__mode=like&blog_id=1&comment_id=1&_type=take_not_like

戻り値

{"comment_id":"1","status":"success","likes":{"like":"11","not_like":"5","total":"16"},"message":"You do not have to evaluate this comment."}

カテゴリー
プラグイン

Recent Entries