pistol88/yii2-promocode

在网站上添加促销代码(优惠券)功能,与 pistol88/cart 和 pistol88/order 一起工作

安装: 542

依赖: 4

建议: 0

安全性: 0

星标: 5

关注者: 6

分支: 1

开放问题: 0

类型:yii2-extension

dev-master 2017-04-24 05:56 UTC

This package is auto-updated.

Last update: 2024-08-27 22:11:05 UTC


README

从 2017 年 4 月 24 日起,模块的开发在这里进行: dvizh/yii2-promocode。建议从 Dvizh 的仓库中安装模块,最新版本就在那里。

Yii2-promocode

在网站上添加折扣(促销代码、优惠券)功能,与 pistol88/cart 稳定配合工作。

模块可以通过 Behavior 动态更改订单价格,根据应用的优惠券类型:累积折扣、百分比折扣、固定金额折扣。

安装

执行以下命令

php composer require pistol88/yii2-promocode "*"

或者在 composer.json 中添加

"pistol88/yii2-promocode": "*",

然后

php composer update

迁移

php yii migrate --migrationPath=vendor/pistol88/yii2-promocode/migrations

连接和设置

在应用程序的配置文件中添加模块 promocode

在 targetModelList 中指定绑定促销代码的模型

    'modules' => [
        //..
        'promocode' => [
            'class' => 'pistol88\promocode\Module',
            'informer' => 'pistol88\cart\widgets\CartInformer', // namespace to custom cartInformer widget
            'informerSettings' => [], //settings for custom cartInformer widget
            'usesModel' => 'dektrium\user\models\User', //Модель пользователей
            //Указываем модели, к которым будем привязывать промокод
            'targetModelList' => [
                'Категории' => [
                    'model' => 'pistol88\service\models\Category',
                    'searchModel' => 'pistol88\service\models\category\CategorySearch'
                ],
                'Продукты' => [
                    'model' => 'pistol88\shop\models\Product',
                    'searchModel' => 'pistol88\shop\models\product\ProductSearch'
                ],            
            ],
        ],
        //..
    ]

使用

要管理促销代码,需要转到模块控制器:?r=promocode/promo-code

为当前用户添加促销代码

yii::$app->promocode->enter($promocode);

清除当前用户的促销代码

yii::$app->promocode->clear()

检查是否输入了促销代码

if(yii::$app->promocode->has())

获取当前促销代码

yii::$app->promocode->getCode()

获取当前折扣百分比

$persent = yii::$app->promocode->get()->promocode->discount;

要使折扣适用于 pistol88/cart,在配置中连接 cart 时,需要添加行为 pistol88\promocode\behaviors\Discount 到 cart

    'cart' => [
        'class' => 'pistol88\cart\Cart',
        'as PromoDiscount' => ['class' => 'pistol88\promocode\behaviors\Discount'],
    ]

要使折扣适用于单个模型,在配置中连接组件时,需要添加行为 pistol88\promocode\behaviors\DiscountToElement 到 cart

    'cart' => [
        'class' => 'pistol88\cart\Cart',
        //'as PromoDiscount' => ['class' => 'pistol88\promocode\behaviors\Discount'],
        'as ElementDiscount' => ['class' => 'pistol88\promocode\behaviors\DiscountToElement'],
    ]

小部件

为用户输出促销代码输入表单

暂时如此!