2016-11-16 54 views
0

我只是想知道如何使用cakephp 2.x构建一个像这样的注册表单: 成员可以有多个工作时间和多个度假时间。 应该有一个大的注册表单,一个提交按钮和3个视觉上分开的区域:memberdetails,workingtimes,vacationtimes。 注册期间,会员应在会员详细信息中输入其个人信息,并在点击提交按钮之前在指定区域添加任意工作时间以及任意度假时间。在提交整个表格之前,所有输入的时间应该在表格中列出。在某些时候,会员细节,工作时间和休假时间看起来不错,用户提交表格(我知道这只是理想情况,并且缺少一些功能)。 我的第一个方法是在成员表单中添加工作时间和休假时间的表单,并通过Ajax-POST将序列化表单数据发送到其他控制器操作(Workingtime-> add,Vacationtime-> add),并将整个相关数据像通过Ajax的Crud索引函数,并将响应注入注册表单而不重新加载它。这似乎使验证,安全组件或视图布局变得简单,因为大部分工作将由cakephp完成,而不是通过javascript完成,但我认为只有当我已经为该成员准备好数据库ID时才能使用 - 在此之后我可以存储工作时间和休假时间。就像所有人已经说过的,我希望一个表单带有一个提交按钮,并且即使在那里已经添加了工作时间或休假时间的情况下也能够取消整个注册。CakePHP高度集成注册表格

那么实现这样一个整合形式的蛋糕方法是什么?在表单加载时启动一个事务并创建一个虚拟成员是否有用?然后使用这个虚拟记录的ID来存储相关的工作时间和休假时间?当点击提交按钮时,虚拟成员会更新以存储输入的个人数据,并且所有内容都可以提交?还是应该只输入相关的模型数据而不保存,然后将这些数据缓存到最终的事务块? 有没有其他想法?

回答

0

我认为最好的方法是管理状态。允许用户输入基本数据,更改状态,然后您可以询问更多信息,但您将拥有用户ID来关联和匹配信息。如果用户稍后回来,它将已经具有当前状态。

随着蛋糕,一个组件将帮助你从一步到另一步。你输入的每个数据都应该被验证。