escapeboy / jraty
用于物品评分的包,并可选微数据格式。
dev-master
2014-06-16 07:47 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-17 00:33:17 UTC
README
使用jQuery Raty插件进行物品评分的包,并可选微数据格式。
该包为您完成所有工作 - 从显示评分到接收评分并将其存储到数据库。
安装
{
...
"require": {
"escapeboy/jraty": "dev-master"
}
}
在app/config/app.php
中注册
'providers' => array( 'Escapeboy\Jraty\JratyServiceProvider', )
创建评分表
php artisan migrate --package="escapeboy/jraty"
发布jQuery Raty资源
php artisan asset:publish escapeboy/jraty
准备使用
首先,您需要加载jQuery
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
然后需要加载Raty插件。您可以使用如下方式
echo Jraty::js()
或者
<script src="packages/escapeboy/jraty/raty/lib/jquery.raty.min.js"></script>
之后,我们需要初始化Raty插件。
使用库
echo Jraty::js_init($params=array());
Jraty::js_init接受Raty的选项数组。更多信息可以在Raty网站上找到
例如,这和默认值一样
Jraty::js_init(array( 'score' => 'function() { return $(this).attr(\'data-score\'); }', 'number' => 5, 'click' => 'function(score, evt) { $.post(\'save/item_rating\',{ item_id: $(\'[data-item]\').attr(\'data-item\'), score: score }); }', 'path' => '\'packages/escapeboy/jraty/raty/lib/img\'' ));
返回
$(document).ready(function () { $('#item-rating').raty({ 'score': function () { return $(this).attr('data-score'); }, 'number': 5, 'click': function (score, evt) { $.post('save/item_rating', { item_id: $('[data-item]').attr('data-item'), score: score }); }, 'path': 'packages/escapeboy/jraty/raty/lib/img' }); });
重要:如果您注意到在PHP调用中单引号被转义了。
使用
echo Jraty::html($item_id, $item_name='', $item_photo='', $seo=true);
如果您使用seo选项(默认为true),则最好设置一个item_name
库接受来自单个IP的每个物品的唯一评分。
附加信息
删除记录
Jraty::delete($id)
手动添加评分
$data = array( 'item_id' => Input::get('item_id'), 'score' => Input::get('score'), 'added_on' => DB::raw('NOW()'), 'ip_address' => Request::getClientIp() ); Jraty::add($data);
获取物品的评分数据
$rating = Jraty::get($item_id); echo $rating->avg; // avarage score echo $rating->votes; // total votes