wikigods/jraty

用于项目评分的包,可选的微数据格式。

1.0.1 2021-12-11 02:30 UTC

This package is auto-updated.

Last update: 2024-09-11 08:05:58 UTC


README

使用jQuery Raty插件对项目评分的包,可选的微数据格式。

alt text alt text alt text alt text alt text

该包为您做所有事情 - 从显示评分到接收评分并将其存储到数据库。

此包是escapeboy/jraty的重编、重组和维护版本,后者不再维护。

安装

使用composer安装此包

composer require wikigods/jraty

服务提供程序将自动发现。您无需在任何地方添加提供程序。

配置 若要使用自己的设置,请发布配置。

php artisan vendor:publish --provider="Wikigods\Jraty\JratyServiceProvider"

配置文件 config/jraty.php 应如下所示

return [
    'route' => 'save/item_rating'
];

准备使用

首先需要加载jQuery

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

然后需要加载Raty插件。您可以使用它如下

echo Jraty::js()

<script src="vendor/wikigods/jraty/js/jquery.raty.min.js"></script>

然后我们需要初始化Raty插件。

使用库

echo Jraty::js_init($params=[]);

Jraty::js_init接受包含Raty选项的数组。更多信息可以在Raty网站上找到

例如这个,它是默认的

Jraty::js_init([
    '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' => '\'vendor/wikigods/jraty/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': 'vendor/wikigods/jraty/img'
    });
});

重要:如果您注意到在php调用中单引号被转义了。

用法

echo Jraty::html($item_id, $item_name='', $item_photo='', $seo=true);

如果您使用seo选项(默认为true),则建议设置item_name

结果将是 alt text alt text alt text alt text alt text

库只接受来自单个IP地址的每个项目的单个评分。

附加信息

删除记录

Jraty::delete($id)

添加手动评分

$data = [
        'item_id'    => Request::get('item_id'),
        'score'      => Request::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