つつつ、ついに “ Five Star Rating Bar ” の設置に成功。
『 Amazon.co.jp 』とか『 Yahoo!Music 』とかではもうお馴染みだな。なんか最近じゃいたるところで見かけるあれ。
星がついてて、それをクリックして評価するってやつ。投票とでもいいましょうか。
当初は、ここに設置する予定だった。なんとなくつけてみたかった。
んだども、たいして意味ねぇなと思いなおした。
日記に評価ってのはおかしな話。
だからここはやめて、かねてからの予定は痛ぇな念願で沿岸だった映画の感想をまとめたいという試み『おれと映画 - 感想Database 』のほうに設置してみた。
最初は失敗。
本当は、これを設置したかった。でも、MySQL と PHP の併用っつーことで、なんか面倒そうだし、実際に面倒で、しかもやってみたが稼動せずで泣く泣く断念。
その際、参考にさせてもらったのは、みんなの bzbell さんが運営してくれてる『MOVABLE TYPE 備忘録』の “ Ajaxによる投票をやってみる ” っていう記事。
そして、それを諦めた俺様は、次に、また見つけた。
『MOVABLE TYPE 備忘録』内で紹介してくれてる “ prototype で Five Star Rating( Starbox ) ” なんていうものを。
基本的には CSS と Javascript でなんか簡単そうだし、なによりシンプルで美しい。というより、カスタマイズ性がとても柔軟そうなのが一番の魅力。
挑戦。
断念。
きっと同じ現象で、何日も何日も時間をムダにするような憂き目に遭ってる人がいるかもしれないので、一応書いておこうか。
長い。
そして、なんら興味のない人にとっては、激烈つまんねぇ。
だけど、俺様ファンには、ちょぴっとだけ楽しいかも。
いざ参らん!!
俺様の状況、ある条件では、うまく作動してくれないらしい。
それはこれ。
“ CORESERVER & マルチドメインによるブログ管理 ”
さらに細かい俺様の仕様書は、こんな感じ。- サーバーは、CORESERVER。
- データベースは、MySQL。
- PHP は、PhpMyAdmin。
- それぞれのいろんなヴァージョンは、PHP 5.2.5 / Perl 5.8.8 / MySQL 5.1.20。
- ドメインを一つ『バリュードメイン』で取得さしてもらって、ほかのブログは、そのドメインから作ったサブドメインっていう形のマルチドメインにて運営。
- マルチドメインは、メインとなるサイトはドメイン直下にして、それ以外は、それぞれにフォルダを作って管理。Movable Type 本体との干渉っつーか、そうしないと Index がかぶったりなんだりで、独立させたいブログなのにトップページが一つになっちゃうから。その他もろもろおかしくなる。
ザクッとそんな感じ。
bzbell さんの見解では、別個のフォルダでの運営だと、フォルダをまたがったときパーミッションの不一致なんかが起こってしまうんじゃないかとのこと。
つまり、Movable Type 本体とメインは直下だから、メインのブログに設置するんなら問題ない ──── 実際、設置できた ──── んだけど、そこから独自にフォルダを作ってそれなりに独立させてる体をもってるブログに設置したい場合は、そこへのアクセス権とかの問題が生じてしまうっぽいのだな。
現象としては、ダウンロードしてアップロードしたフォルダのなかに “ demo.html ” っつーのが最初からあって、それをブラウザから表示させた場合、デモとしての枠と Starbox はちゃんと表示してくれる。動いてもくれる。クリックすれば、“ Thank you ” って言った。
でも、それを記憶して、記録して、保存した状態にはなってくれないのだな。そこを更新すると、それが幾度となくリセットされてくれるようで、どんなに評価しても生まれ変わっちゃうのだな。
そう、何度でも、何度でも、僕らは生まれ変わっていけるわけ。
だが待てよと。
ダメもとで試してみようとやってみたら、もともとダメだったんだけど、実際にブログのほうに設置もしてみた。
結果は、似て非。
現象は、ソースにはちゃんとその部分のコードがある。
でも、空。In The Sky...トランク一つも持ってない。
あ、わかりづらいか、こういう比喩表現?
とどのつまりは、ソースコードは生成されるんだけども、表示としては、その部分のスペースだけは確保して、中身は空白の状態。
だから設置した場合は、その部分がちょぴっとだけ広がるよ。
利用さしてもらったライブラリっていうのかファイルは、さっき書いた記事のなかにある“ starbox.rating.zip ”っていうもので、それは bzbell さんが作成してくれたものらしい。
なので、公開ディレクトリ直下、Movable Type の本体と同階層のディレクトリに置いてあるブログ、あるいは一つのドメインとか独立したドメインでそれごとに管理してるんなら、それは問題ないでしょうとのこと。
マルチドメイン、いや、この場合、マルチフォルダといった感じの管理は、なにかと不具合が生じるとの噂。俺様もそう思ふ。
でも個人的には、ネームサーバの設定とか、なんかかんかちゃんとした知識をもって挑み、励み、惜しむことなくイジくりまわせば、ちゃんと動いてくれそうな気は、しないでもなくはない。
がんばれ。
でも俺様は断念。そして残念。それは大変。
そこで、完全に無理だな思った俺様は、Movable Type よりも MySQL 寄りならという結論から、一時は失敗し、断念、諦めた……そして今回は成功した “ Unobtrusive AJAX Star Rating Bar ”に挑戦 Again したというわけ。
まま、詳しいやり方は、またもやみんなの bzbell さんの『MOVABLE TYPE 備忘録』は “ Ajaxによる投票をやってみる ” に詳しくかつ丁寧に説明してくれてるとおりにやれば、できるので心配なんてしてくれるな?
- これのフォルダをアップロードするとこは、Movable Type 本体と同階層。
- もしなんかの名前を変更するのなら、ほかとの連動を見極めて、それも同じ名前にすること。
そんだけ。
あとはホント、マジで bzbell さんの親切丁寧アンドわかりやすい解説のとおりで十二分。
あ、そうだ。
“ Starbox ” について教えてもらってるとき、bzbell さんから指摘を受けたことなんだけど、これ実は、極めて重要なことらしいので、記載。
『 CORESERVER 』を使ってる人、あるいは、“ PHP を CGI として動かしたい ” と思ってる人は、その意識を向ける PHP があるフォルダに “ .htaccess ” とかいうファイルを作ってアップロードしておかないといけないとのこと。それをしないと、少なくとも “ Starbox ” はちゃんと動いてくれないかもしれないらしいんだな。
その内容とは、下記1行のみで オッケィ ベイビ。
AddHandler application/x-httpd-phpcgi .php
んでんで、名前を変更する場合っていうやつの例をばリルビッ。
Starbox 紹介記事の “ 各ファイルを編集 ” ってとこ。
“ _config-rating.php ” の “ $rating_tableName = 'ratings'; ” を自分でさらにわかりやすくて好きな名前に変えたいとき。
そんときは、そこから下にズズズイーと下がっていくとある“ 投票用テーブルを新規作成 ” で新しく作成するテーブルの名前も同じ名前にするベッキー。
bzbell さん、ソースコード勝手にパクって So sorry。
CREATE TABLE `christoliss` (
`id` varchar(11) NOT NULL,
`total_votes` int(11) NOT NULL default 0,
`total_value` int(11) NOT NULL default 0,
`used_ips` longtext,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3;
あとは、アップリンクするフォルダ名を変えたいときは、“ URL を追加してね ” っていう箇所の全部を、デフォルトの “ ratings ” からそれを加味したものに変えて追加してやるとよいのよ。
ただし、新規で作るテーブルの名前と、このフォルダの名前は、別に一緒じゃなくてもいいの。愛すべき人を対にしたいということで、ワイフ “ おりえ ” と、愛人 “ みかよ ” を、それぞれに割り当てても、それは可。
記事中にあるのは、たまたま愛すべき人が一人だったってだけのことみたい。
さて、そんなわけで、評価機能もついた俺様の映画の感想データベース ──── 略して、おれと映画 ──── もよろ Sick だよ!!
- April 12, 2008 6:45 AM
- [ おれと映画 - 感想Database ]