swilson1337 / yii2-wizard
用于处理多表单向导的Yii2扩展
v1.0.3
2019-01-28 16:21 UTC
Requires
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-08-29 04:42:52 UTC
README
用于处理多表单向导的Yii2扩展。
特性
- 所有表单提交到同一路由 - 便于记忆的URL
- 仅支持下一步/上一步或仅向前导航 - 注册表单可能使用下一步/上一步导航;测试可能使用仅向前
- 循环 - 在表单中重复一个或多个步骤,次数不限
- 分支导航(PBN) - 允许表单根据用户的回答选择路径
- 步骤超时 - 步骤可以设置超时,以确保用户在指定时间内响应
- 保存/恢复 - 保存部分完成的表单,然后在稍后恢复并继续
- 事件驱动 - 编写处理函数并将它们连接到事件
有关许可信息,请参阅LICENSE文件。
安装
安装此扩展的首选方式是通过composer。
运行以下命令
php composer.phar require --prefer-dist beastbytes/yii2-wizard
或在您的composer.json文件的require部分中添加以下内容
"beastbytes/yii2-wizard": "*"
用法
以下是如何使用此扩展的简要概述;示例文件夹展示了如何在问答、调查和注册示例中实现PBN、循环、仅向前导航和步骤超时。
将WizardBehavior附加到控制器。
控制器包含事件处理程序;最重要的两个事件是WizardBehavior::EVENT_WIZARD_STEP和WizardBehavior::EVENT_AFTER_WIZARD,它们分别负责处理向导的步骤和在向导结束时处理数据。
控制器动作
控制器动作非常简单
public function actionWizard($step = null) { return $this->step($step); }
WizardBehavior::EVENT_WIZARD_STEP
此事件的处理程序负责验证提交的数据并决定向导应向哪个方向进行;此事件和处理的数据被放入事件中。当事件被处理程序标记为已处理时,向导将执行适当的操作。
WizardBehavior::EVENT_AFTER_WIZARD
此事件的处理程序负责在向导完成后执行所需操作;这可能包括基于用户输入渲染页面或将数据保存到持久存储。