SmartyのPluginでAJAXレーティング
Ajaxを利用したレーティングシステムで超有名なUnobtrusive AJAX Star Rating BarのSmartyプラグイン版がありました.
自分で作ろうと思ってたけど探せばあるもんですね.
これでレーティングの実装が楽になりそう.
使用法
- ダウンロードして解凍したフォルダのsmarty\libs\plugins\function.rating_bar.phpをSmartyのpluginsフォルダにコピー.
- レーティングを導入したいコンテンツのフォルダにcss,js,imagesフォルダと_config-rating.php,db.php,rpc.phpをコピー
- _config-rating.phpでDBの設定などを行う
あとはテンプレートに以下のような記述をすればOK
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>Multiple Ajax Star Rating Bars</title> <script type="text/javascript" language="javascript" src="js/behavior.js"></script> <script type="text/javascript" language="javascript" src="js/rating.js"></script> <link rel="stylesheet" type="text/css" href="css/default.css" /> <link rel="stylesheet" type="text/css" href="css/rating.css" /> </meta></head> <body> {rating_bar id=$id} </body> </html>
個人的にはデフォルトの罫線みたいなのが邪魔なのでrating.cssを以下のように修正
.ratingblock { width: 50%; display:block; /* border-bottom:1px solid #999;*/ padding-bottom:8px; margin-bottom:8px; }
Smartyなら↓の本がおススメかも.amazonから中身みれますよー
Smarty入門~PHP5+テンプレート・エンジンでつくるMVCアプリケーション~
Price: ¥ 2,940 JPY
Lowest used price: ¥ 2,104 JPY


11 月 4th, 2008 at 18:34:13
突然失礼いたします。
レイティングバーの作成中に調べていたところこちらのページにたどり着きました。
質問させていただきます。
実際に上記のやりかたでレイティングバーの動作は確認できたのでしょうか?
こちらでは本家版の動作は確認できたのですがSmarty版の動作は確認できませんでした。
Smarty版に含まれているreadme.txt及び動作確認用index.phpには以下のような記述があります。
これは
の誤記ではないでしょうか?
またfunction.rating_bar.phpには以下のような記述があります。
{rating_bar id=$data.ID}
これを id=1 などと置き換えても文字列がそのまま表示されるだけで
レイティングバーは表示されませんでした。
11 月 4th, 2008 at 18:37:28
一部書き込みが表示されなかったため訂正させていただきます。
Smarty版に含まれているreadme.txt及び動作確認用index.phpには以下のような記述があります。
<?php rating_bar(’1′,5); ?>
これは
<?php echo rating_bar(’1′,5); ?>
の誤記ではないでしょうか?
11 月 4th, 2008 at 18:56:14
もう古い記事なのでいまさら感がありますが,,
投稿した時点では実際に試し,動いていたと思います.
もうSmartyなんて使っていないのでいますぐには確かめられませんが.
> これを id=1 などと置き換えても文字列がそのまま表示されるだけで
これを見る限りrating_barの問題じゃない気がします.プラグインとして認識されてないのでは.
plugins_dirか何か忘れましたが,設定は正しいですか?
11 月 4th, 2008 at 19:01:24
> <?php echo rating_bar(’1′,5); ?>
> の誤記ではないでしょうか?
これは誰に質問しているのでしょうか…?
サンプルプログラムに書いてあるのならばそれが正しいのでは.
11 月 4th, 2008 at 19:47:52
早々のご回答ありがとうございます。
質問内容が適切でなかったことをお詫びいたします。
質問というよりもサイト主さまのご意見を聞きたかったというのが正しいですね。
失礼いたしました。
質問の件は現在も調査中です。
ありがとうございました。