2016-11-16 2 views
0

Мне просто интересно, как создать форму регистрации, подобную этой, с помощью cakephp 2.x: Член может иметь несколько рабочих циклов и несколько интервалов отпуска. Должна быть одна большая форма регистрации с одной кнопкой отправки и тремя визуально разделенными областями: memberdetails, workmimes, vacationtimes. Во время регистрации член должен вводить свои личные данные внутри элементов-членов и добавлять произвольные рабочие периоды, а также произвольные периоды отпуска в выделенных областях, прежде чем нажать кнопку «Отправить». Все введенные времена должны быть перечислены в виде таблицы внутри формы перед отправкой всей формы. В какой-то момент элемент детализирует, время работы и время от времени выглядят хорошо, и пользователь представляет форму (я знаю, что это только идеальная ситуация, и некоторые функции отсутствуют). Мой первый подход включал в себя формы для добавления рабочих часов и времени отпуска внутри формы участников и отправки данных с сериализованной формы через Ajax-POST другим действиям контроллера (рабочее время-> добавить, отключение-> добавить), а также загрузить все связанные данные с помощью что-то вроде функции индекса crud через Ajax и вводит ответ в форму регистрации без перезагрузки. Это похоже на то, что такие вещи, как проверка, компонент безопасности или макет представления, просты, потому что большая часть работы будет выполняться cakephp, а не с javascript, но я думаю, что это работает только в том случае, если у меня есть идентификатор базы данных для участника - после этого Я могу хранить время работы и время отпуска. Как и все сказано, я бы предпочел одну форму с одной кнопкой отправки и смог отменить всю регистрацию, даже если там уже были добавлены рабочие времена или отпуск.CakePHP высокоинтегрированная форма SignUp

Итак, что же такое торт для создания интегрированной формы? Полезно ли начинать транзакцию и создавать фиктивный элемент при загрузке формы? А затем используйте идентификатор этой фиктивной записи, чтобы сохранить связанные с ней рабочие времена и время отпуска? И при нажатии кнопки «Отправить» член фиктивного файла обновляется для хранения введенных персональных данных, и все может быть выполнено? Или следует ли проверять введенные связанные данные модели без сохранения, а затем просто кэшировать эти данные для окончательного транзакционного блока? Любые другие идеи?

ответ

0

Я думаю, что лучший подход для этого - управлять состояниями. Разрешить пользователю вводить базовые данные, изменять состояние, а затем вы можете запросить дополнительную информацию, но у вас уже будет идентификатор пользователя, чтобы связать и сопоставить информацию. Если пользователь вернется позже, он будет иметь текущее состояние уже.

С помощью Торта Компонент поможет вам перейти от одного шага к другому. Все данные, которые вы вводите, должны быть проверены.