ホーム > フォーラム > その他 > いいねモジュール作ってみた

いいねモジュール作ってみた
投稿者: suin | 投稿日時: 2008/11/1 9:37 | 閲覧: 20581回
suin
何年ぶり(?)にモジュールを公開しました。
ずいぶんと長い間、モジュールを作ってませんでしたので、リハビリもかねて「小さなモジュール」を作ろうと思い、「いいね」モジュールを作りました。

「いいね」はSmartyが使えるところならどこでも設置できる超シンプルな投票モジュールです。

ダウンロードはこちら
株式会社Ryus

Smartyでやる方法はd3forumのコメント統合からアイディアをいただきました。

ちなみに「いいね」のネタ元はこちらです。
docune


いいね

このモジュールについて

いいねモジュールは、シンプルなコンテンツ評価モジュールです。どんなモジュールでもテンプレートがあるモジュールなら、コンテンツごとに「いいね」ボタンを設置することができ、エンドユーザが「いいね」ボタンをクリックすることで、そのコンテンツに票を投じることができます。さらに、投票したユーザの一覧を出すこともできるので、ソーシャルネットワーキング的なことも可能です。(XOOPS Cube専用です。Legacy風のコーディングを勉強するために作りました。それにプリロード使ってます。)

動作はこんな感じです(YouTube動画)

機能説明

  • 投票する/投票をとりけす
  • Smartyプラグインでどこでも投票ボタンを設置できる。
  • Smartyプラグインでどこにでも投票ユーザ一覧を表示できる。
  • Smartyプラグインで投票数だけを表示することができる。

インストール方法

  1. アーカイブを展開して、iine を html/modules/ の下にコピー
  2. モジュール管理でインストールを実行してください。
  3. 投票を許可するグループに、いいねモジュールのアクセス権限を与えてください。ゲストにも投票を許可する場合は、ゲストにアクセス権限を与えるのを忘れないでください。
  4. いいねボタンを表示したいモジュールのテンプレートにSmartyプラグインの記述を追加してください。

いいねボタンの設置方法

「いいね」ボタンを設置するには専用のSmartyプラグインを使いますが、ディレクトリ名とコンテンツごとのユニーク(唯一)なIDを与える必要があります。
<{iine_button dirname="(ディレクトリ名)" id=(ID:integer)}>
たとえば、bulletinだと、article.htmlの任意の場所に次のような記述をすれば良いでしょう。
<{iine_button dirname=$mydirname id=$smarty.get.storyid}>

投票したユーザ一覧の設置方法

ユーザ一覧も基本的にいいねボタンを設置する手順と同じです。
<{iine_users dirname="(ディレクトリ名)" id=(ID:integer)}>
たとえば、Bulletinの場合、
<{iine_users dirname=$mydirname id=$smarty.get.storyid}>

投票数表示の設置方法

投票数表示も基本的にいいねボタンを設置する手順と同じです。
<{iine_total dirname="(ディレクトリ名)" id=(ID:integer)}>
たとえば、Bulletinの場合、
<{iine_total dirname=$mydirname id=$smarty.get.storyid}>

アンインストール方法

  1. いいねモジュールのSmartyプラグインを使っているテンプレートは該当部分を削除してください。
  2. モジュール管理でいいねモジュールを非アクティブに変更後、アンインストールを実行してください。
  3. html/modules/から iine を削除してください。

いまわかっている問題

jQueryがほかのモジュールと競合する恐れがある

いいねモジュールではjQueryを利用しています。なので、ほかのモジュールのJavaScirptライブラリと競合しエラーが起こる恐れがあります。どうしても、共存できない場合は、jQueryを使わないようにカスタマイズしてください。いいねモジュールの基本機能はJavaScriptなしでも使用可能です。

UTF-8以外の環境で文字化けする

EUC-JPのXOOPSでは、投票後、いいねボタンなどが文字化けします。一応、救済策として、iine_jquery.tplのコメントアウトしてあるところを有効化する方法が用意されています。

更新履歴

Ver Date Category Note
1.00 2008.10.31 --- 初回リリース
1.01 2008.10.31 bug fix MySQLのファイルがおかしくてインストールできない
1.02 2008.10.31 bug fix IEでドキュメントが正しく表示されない

謝辞

いいねモジュールは、株式会社Ryus(http://ryus.co.jp/)の2008年10月3日の「フライデーフリー」制度を利用し開発されました。株式会社Ryusおよび、助言をいただいたRyusの皆様に深く感謝申し上げます。
Suin

コメント(3)

新しいものから | 古いものから | ネスト表示 | RSS feed
Re: いいねモジュール作ってみた 
投稿者: petlinks | 投稿日時: 2008/11/1 17:12
petlinks
とても面白いモジュールだと思うのですが、プログラムがあまり分からない初心者には設置の仕方が・・・orz

このモジュールを使って、例えばYahoo!ニュースのコメントのように
「私もそう思う」ボタンのような使い方って可能なのでしょうか?

もし可能ならばd3forumのコメント統合によるコメント欄に設置したいのですが、手順など教えていただけると幸いです。
Re: いいねモジュール作ってみた 
投稿者: suin | 投稿日時: 2008/11/2 1:02 | 親コメント: #19239
suin
petlinks さん

コメントありがとうございます。

Yahooニュースの「私もそう思う」ボタンを知らないので、なんともいえませんが、
言語ファイルの文句を書き換えるだけでも、「いいね」ボタンが、「読みました」ボタンに早変わりし、社内コンテンツの既読管理に実用されている例もあります。

いいねモジュールとd3forumのコメント統合とは別物なので、完璧に連動してやるというのは無理かと思います。

があるテンプレートを探して、その記述を参考にするということは可能かと思います。

参考までに、モジュールにいいねボタンを設置する具体的な方法を書いておきます。
実際に動かして試してないので間違ってるかも知れませんが(おいっ

mydownloads
mydownloads_singlefile.html
<{iine_button dirname="mydownloads" id=$smarty.get.lid}>


myAlbum-P
myalbum_photo.html
<{iine_button dirname="myalbum" id=$smarty.get.lid}>


ユーザ情報
user_userinfo.html
<{iine_button dirname="user" id=$smarty.get.uid}>


「$smarty.get.X」が何かという疑問も出てきそうですが、これは「GETの変数のXを取得する」という意味です。
例えば、ユーザ情報のURLは ..../userinfo.php?uid=1のようになりますが、
uid=1がいいねボタンを使う上で必要になるので、$smarty.get.uidでuid=?の値を取得しようとしています。


とても面白いモジュールだと思うのですが、プログラムがあまり分からない初心者には設置の仕方が・・・orz

このモジュールを使って、例えばYahoo!ニュースのコメントのように
「私もそう思う」ボタンのような使い方って可能なのでしょうか?

もし可能ならばd3forumのコメント統合によるコメント欄に設置したいのですが、手順など教えていただけると幸いです。
回覧板的な利用について 
投稿者: murataogu | 投稿日時: 2013/7/23 11:36
murataogu

お世話になります。
いいねモジュールの利用方法として、回覧板の閲覧チェックに使いたいと思っております。

「投票したユーザ一覧」を利用すると、閲覧したユーザを確認できるので、それでも良いのですが、逆に「投票していないユーザ一覧」も表示することができると、さらに利便性が向上すると思います。

多くのユーザを抱えるサイトでは、表示スペースの関係で収集がつかなくなってしまうとおもいますが、小規模な会社のグループウェアでは有効かと思います。


現在、60人規模のグループウェアを作っているのですが、「投票していないユーザ一覧」を表示する方法をご教授願えませんでしょうか。

さらに言えば、「投票していないユーザ一覧」の数が、例えば10人を超えたら「さらに表示する」的なボタンを表示し、10人づつ表示できる様な機能があると助かります。


クレクレで申し訳ありませんが、よろしくお願いいたします。

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top