masihfathi / yii2-drag-drop-forms
一个完整的拖拽表单构建器
dev-master
2017-11-26 10:17 UTC
Requires
- php: >=7.0.0
- kartik-v/yii2-detail-view: *
- kartik-v/yii2-grid: *
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2024-09-12 04:29:08 UTC
README
特性
- 生成表单、调查、民意调查、问卷调查(类 FormBuilder)
- 拖拽 - 排序、编辑和删除项
- AJAX 实现的 CRUD 操作
- 内置 RBAC 组件
- 表单渲染小部件(类 Form)
- 验证表单(动态模型)
- 将表单提交的数据存储在数据库中
- 表单列表(GridView)
- 创建表单后创建数据库表
- 删除表单后删除数据库表
- 在表单中添加字段后添加表列
- 更改字段名称后重命名表列
- 删除表单中的字段后删除表列
新增功能
- 编辑、删除、预览提交项数据
- 搜索和过滤提交项数据
- 表单数据提交后的事件,用于支付或...
提交数据演示
错误修复
- 修复视图错误
待办事项
- 添加模块以管理支付方式,例如 PayPal、本地支付,并将支付按钮作为可选的拖拽字段添加到表单构建器中
安装表单构建器
composer require masihfathi/yii2-drag-drop-forms "dev-master"
配置表单构建器
请确保您已在配置文件中正确配置了 db 应用程序组件,并运行以下命令
$ php yii migrate/up --migrationPath=@vendor/masihfathi/yii2-drag-drop-forms/migrations
在您的配置文件中添加以下代码
'modules' => [ 'forms' => [ 'class' => '\masihfathi\form\Module', ], // Module Kartik-v Grid 'gridview' => [ 'class' => '\kartik\grid\Module' ], ]
用法
翻译工具的 URL
/forms/module/index // List of all forms
/forms/module/user // List of user forms
/forms/module/view // Preview form
/forms/module/create // FormBuilder - create form
/forms/module/update // Update form
/forms/module/delete // Delete form
完整的表单构建器配置示例
'modules' => [
'forms' => [
'class' => 'masihfathi\form\Module',
'db' => 'db',
'formsTable' => '{{%forms}}',
'formDataTable' => 'form_', // dont use prefix please
'sendEmail' => true,
'emailSender' => 'info@email.net',
'rules' => [
[
'actions' => [ 'update', 'delete', 'clone','deletemultiple','preview','update-item'],
'allow' => true,
'roles' => ['updateOwnForm'], // rule only owner can edit form
],
[
'actions' => ['user', 'create'],
'allow' => true,
'roles' => ['user'], // role only authenticated user can
]
],
'controllerMap' => [
'module' => [
'class' => '\masihfathi\form\controllers\ModuleController',
'on afterSubmit'=>function($event){
// code
}
]
]
]
],
表单渲染小部件
use masihfathi\form\Form;
echo Form::widget([
'body' => '[[{"field": "input", "type": "text", "width": "col-md-5", "name": "email", "placeholder": "email"},{"field": "input", "name": "pass", "type": "text", "placeholder": "pass", "width": "col-md-5"},{"field": "submit", "width": "col-md-2", "backgroundcolor": "btn-info", "label": "Submit"}]]',
'typeRender' => 'php'
]);
或
echo Form::widget([
'formId' => 1, // equivalennt 'form' => FormModel::findOne(1)->body
]);
配置 RBAC 组件
在您继续之前,您需要在数据库中创建这些表。
php yii migrate --migrationPath=@yii/rbac/migrations
构建授权数据
要使用生成器控制台,请将以下代码添加到配置控制台文件中
'controllerMap' => [
'formsrbac' => [
'class' => 'masihfathi\form\migrations\RbacController',
],
],
在数据库中创建 rbac 表
php yii migrate --migrationPath=@yii/rbac/migrations
为表单模块创建规则和角色
php yii formsrbac/generate
测试
要运行测试,请执行
composer exec -v -- codecept -c vendor/masihfathi/yii2-drag-drop-forms run
或
cd vendor/masihfathi/yii2-drag-drop-forms
codecept run
依赖关系
"require": {
"php": ">=7.0.0",
"yiisoft/yii2": "~2.0.0",
"kartik-v/yii2-detail-view": "*",
"kartik-v/yii2-grid": "*"
}
Font Awesome 必须可用。

