0

В настоящее время я работаю над формой регистрации пользователя для сайта, над которым я работаю. Сайт требует много информации о пользователях, и я хотел бы разбить его на этапы.Split Sonata Пользовательская форма регистрации Bundle на этапы

Первый этап требует, чтобы пользователь вводил идентификатор в виде номера заказа. Затем я проверил бы номер заказа в системе, прежде чем заставить их продолжать заполнять остальные поля. Я не уверен, как это сделать.

Что мне удалось до сих пор, хотя это переопределить, лежащие в основе User, RegistrationController и RegistrationFormType и вынести настраиваемое представление с соответствующими полями формы.

Обзор процесса, который я хотел бы:

  1. ФОРМА: попросить номер заказа
  2. форма процесса и проверить номер заказа существует (если не вернуться к 1)
  3. ФОРМУ : запросить информацию пользователя
  4. пользовательской информации
  5. процесса и хранить
  6. полный

ответ

0

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

И чем добавить некоторые правила проверки js, - отображать части формы на основе значений, предварительно заполненных пользователем. В этом случае вам не нужно перерабатывать регистрационную форму Sonata, но для пользователей это будет то же самое.

+0

Я бы предпочел, чтобы он работал через PHP, чем JS. Первые два поля, которые я показываю, должны быть проверены в базе данных, чтобы убедиться, что порядок существует. Затем будет возвращен идентификатор, который можно использовать на следующем этапе ввода данных пользователя. – diggersworld

+0

@diggersworld - вы всегда можете сделать это через ajax; – pomaxa