pantera-digital/yii2-rules

此包的最新版本(dev-master)没有提供许可信息。

安装: 649

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 0

开放问题: 4

类型:yii2-extension

dev-master 2018-12-05 06:28 UTC

This package is auto-updated.

Last update: 2024-09-05 19:04:36 UTC


README

Yii Framework 2.x 的规则模块提供了创建和管理事件反应的能力

安装

建议通过 composer 安装

composer require pantera-digital/yii2-rules "@dev"

或者,在 composer.json 中添加以下内容

"pantera-digital/yii2-rules": "@dev"

并执行

composer update

迁移

php yii migrate/up --migrationPath=@pantera/rules/migrations

连接

frontend/config/main.php 中添加

...

'bootstrap' => ['rules']

...

'modules' => [
    'rules' => [
        'class' => 'pantera\rules\Module',
        'classes' => [
            namespace\to\YourClassName::className() => [
                namespace\to\YourClassName::YOUR_CLASS1_EVENT_KEY_1,
                namespace\to\YourClassName::YOUR_CLASS1_EVENT_KEY_2,
                ...
            ],
            namespace\to\YourClassName2::className() => [
                namespace\to\YourClassName2::YOUR_CLASS2_EVENT_KEY_1,
                namespace\to\YourClassName2::YOUR_CLASS2_EVENT_KEY_2,
                ...
            ],
        ],
    ],
]

...

backend/config/main.php 中添加

...

'modules' => [
    'rules' => [
        'class' => 'pantera\rules\admin\Module',
        'permissions' => ['admin'],
    ],
]

...

使用方法

在后台管理通过地址 index.php?r=rules/rules 进行。需要添加所需的 rule 并在其中设置事件动作。

在 action 中可用的变量

$model - 触发事件的模型对象;

$user - 在系统中生成事件的当前用户。

示例 action:当用户在网站上请求回电时(事件是保存数据库中用户请求回电的记录),向管理员发送电子邮件通知。


common\models\CallMe::EVENT_AFTER_INSERT

Yii::$app->mailer->compose('call-me', ['model' => $model])
    ->setFrom('your_mail@domain.com')
    ->setTo(Yii::$app->params['managerEmail'])
    ->setSubject('Запрос звонка на сайте')
    ->send();