承接 hrupin/yii2-reviews 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 hrupin/yii2-reviews 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 149
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2017-08-22