pantera-digital / yii2-rules
此包的最新版本(dev-master)没有提供许可信息。
dev-master
2018-12-05 06:28 UTC
Requires
- himiklab/yii2-sortable-grid-view-widget: *
- kartik-v/yii2-widget-depdrop: @dev
- npm-asset/ace-builds: *
- pantera-digital/yii2-grid: @dev
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();