beastbytes / yii2-wizard
此包已废弃且不再维护。未建议替代包。
处理多表单向导的Yii2扩展
v1.0.0
2015-07-26 20:46 UTC
Requires
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2023-08-19 07:20:25 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
此事件的处理程序负责在向导完成后执行所需的操作;这可能是基于用户输入渲染页面或将数据保存到持久存储。