hrupin/yii2-reviews
Composer 安装命令:
composer require hrupin/yii2-reviews
包简介
Reviews for YII2
关键字:
README 文档
README
Module Reviews for YII2
Installation
The preferred way to install this extension is through composer.
Need RBAC
Either run
php composer.phar require --prefer-dist hrupin/yii2-reviews "*"
or add
"hrupin/yii2-reviews": "*"
to the require section of your composer.json file.
configure
in common/config/main.php
'modules' => [
'reviews' => [
'class' => 'hrupin\reviews\Module',
'userModel' => 'common\models\User',
'modelMap' => [
'Reviews' => 'common\models\Reviews',
],
'controllerMap' => [
'admin' => 'backend\controllers\ReviewsController',
'reviews' => 'frontend\controllers\ReviewsController'
],
'moderateReviews' => false,
'ratingStars' => [
1 => 'Ужасно',
2 => 'Плохо',
3 => 'Нормально',
4 => 'Хорошо',
5 => 'Отлично'
],
'customOptions' => [
'Company' => [
[
'type' => 'radioList',
'statistic' => [
'bad' => ['1'],
'good' => ['3'],
],
'data' => ['3' => 'Да', '1' => 'Нет', '2' => 'Не помню'],
'label' => 'Цены и наличие были указаны верно?',
'answer' => [
1 => 'Цена и наличие не соответствовали',
2 => 'Не помню',
3 => 'Цена и наличие были указаны верно'
]
],
[
'type' => 'radioList',
'statistic' => [
'bad' => ['1'],
'good' => ['3'],
],
'data' => ['3' => 'Да', '1' => 'Нет', '2' => 'Не помню'],
'label' => 'Заказ был вополнен в оговоренные сроки?',
'answer' => [
1 => 'При выполнении заказа была задержка',
2 => 'Не помню',
3 => 'Заказ был вополнен в оговоренные сроки'
]
],
[
'type' => 'dropDownList',
'statistic' => [
'bad' => ['1','2','3','4','5'],
'good' => ['6'],
],
'data' => [
'6'=>'В течение 30 минут',
'5' => 'В течение двух часов',
'4' => 'В течение дня',
'3' => 'На следующий день',
'2' => 'Не связались',
'1' => 'Я звонил сам',
],
'params' => ['prompt' => 'Как быстро с вами связались после заказа?'],
'label' => 'Как быстро с вами связались после заказа?',
'answer' => [
1 => 'Я звонил сам',
2 => 'Не связались',
3 => 'На следующий день',
4 => 'В течение дня',
5 => 'В течение двух часов',
6 =>'В течение 30 минут',
]
]
],
'User' => [
[
'type' => 'radioList',
'data' => ['3' => 'Да', '1' => 'Нет', '2' => 'Не помню'],
'label' => 'Соответствовал ли товар описанию и состоянию указаные в описании продавца?',
'answer' => [
1 => 'Описание товара не соответствовало',
2 => 'Не помню',
3 => 'Описание товара полностью соответствовали'
]
],
[
'type' => 'radioList',
'data' => ['3' => 'Да', '1' => 'Нет', '2' => 'Не помню'],
'label' => 'Возникали сложности с оплатой и получением?',
'answer' => [
1 => 'Были сложности с оплатой и получением',
2 => 'Не помню',
3 => 'Сложности при оплате и получении не возникли'
]
],
[
'type' => 'radioList',
'data' => ['3' => 'Да', '1' => 'Нет', '2' => 'Не уверен'],
'label' => 'Рекомендуете ли Вы продавца?',
'answer' => [
1 => 'Рекомендую',
2 => 'Воздержусь',
3 => 'Не рекомендую'
]
]
],
'Project' => []
]
],
in frontend/config/main.php
'modules' => [
'reviews' => [
'as frontend' => 'hrupin\reviews\filters\FrontendFilter',
],
]
in backend/config/main.php
'modules' => [
'reviews' => [
'as backend' => 'hrupin\reviews\filters\BackendFilter',
],
],
add to model User
public function getPublicAvatar()
{
// your code
}
public function getPublicName()
{
// your code
}
public function getSendEmail()
{
// your code
// return true or false
}
migrate
php yii migrate/up --migrationPath=@vendor/hrupin/yii2-reviews/migrations
delete
php yii migrate/down --migrationPath=@vendor/hrupin/yii2-reviews/migrations
Usage
Once the extension is installed, simply use it in your code by :
MINIMUM
<?= hrupin\reviews\widgets\Reviews::widget([
'pageIdentifier' => 'p_11'
]); ?>
FULL
<?= hrupin\reviews\widgets\Reviews::widget([
'reviewsIdentifier' => 'categoryId',
'pageIdentifier' => 'p_11',
'reviewsView' => '/ad/reviews',
'enableReviews' => true,
'emailAuthor' => 'info@yandex.ru'
]); ?>
AND
<?= \hrupin\reviews\widgets\ReviewsModal::widget([
'pageIdentifier' => 'index'
]); ?>
<?= hrupin\reviews\widgets\ReviewsStatistics::widget([
'pageIdentifier' => ['index', 'index-2'],
'reviewsIdentifier' => 'index',
'statisticsReviews' => [
['name' => 'Отрицательные', 'check' => 2], // 1 and 2 stars
['name' => 'Нейтральные', 'check' => 3], // 3 stars
['name' => 'Положительные', 'check' => 5] // 4 and 5 stars
],
'timePeriod' => [
'type' => 'month', // day, month, year
'period' => [1, 3, 6],
'name' => ['месяц', 'месяца', 'месяцев']
]
]);
?>
<?= \hrupin\reviews\widgets\CustomerRating::widget([
'pageIdentifier' => ['index'],
'reviewsIdentifier' => 'reviews',
]); ?>
<?= \hrupin\reviews\widgets\ReviewsList::widget([
'pageIdentifier' => ['index'],
]); ?>
<?php
$m = \hrupin\reviews\models\Reviews::getSecondaryPositiveNumber(['index'],'reviews');
var_dump($m);
array(2) {
["rating"] = float(25)
["count"] = string(1) "8"
}
$n = \hrupin\reviews\models\Reviews::getNewReviews();
echo 'new reviews: ' . $n;
new reviews: 2
?>
hrupin/yii2-reviews 适用场景与选型建议
hrupin/yii2-reviews 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 149 次下载、GitHub Stars 达 1, 最近一次更新时间为 2017 年 08 月 22 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「extension」 「yii2」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 hrupin/yii2-reviews 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 hrupin/yii2-reviews 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 hrupin/yii2-reviews 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A custom URL rule class for Yii 2 which allows to create translated URL rules
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
TYPO3 CMS extension to create gallery content element with preset crop ratios and pagination
UI Kit 3 Extension for Yii2
Adds more BBCode
Define your own css rule-sets for the TYPO3 CMS backend.
统计信息
- 总下载量: 149
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2017-08-22