Контролер Register дозволяє реєструвати користувачів в задані групи і відправляти повідомлення про реєстрацію. Контролер є розширенням контролера Form, відповідно можна використовувати відповідні параметри для відправки листів при реєстрації.
Імена полів у формі повинні відповідати полях моделі modUsers.
Якщо у формі не задано поле username, то йому присвоюється значення поля email. Таким чином можна реєструвати користувачів тільки по email.
Якщо у формі не задано поле password, то значення поля генерується автоматично. Тобто реєстрацію користувача можна звести до вказівки email.
При реєстрації з паролем, у формі може бути присутнім поле repeatPassword. Якщо задані правила валідації для полів password і repeatPassword, то при наявності для поля repeatPassword правила equals, воно буде автоматично скориговано для перевірки рівності значень полів password і repeatPassword:
"repeatPassword":{
"required":"Введіть пароль ще раз",
"equals":{
"params" : "Цей ключ в описі правила можна не задавати, він буде сформований контролером автоматично",
"message":"Паролі не збігаються"
}
}
При реєстрації слід перевіряти унікальність імені користувача та email. У контролері передбачені відповідні правила:
&rules=`{
"username":{
"required":"Введіть ім'я користувача",
"alphaNumeric":"Тільки букви і цифри",
"custom":{
"function":"\\FormLister\\Register::uniqueUsername",
"message":"Ім'я вже зайнято"
}
},
"email":{
"required":"Введіть email",
"email":"Невірний email",
"custom":{
"function":"\\FormLister\\Register::uniqueEmail",
"message":"Цей email вже використовує інший користувач"
}
}
}`
У шаблонах доступні всі поля моделі для створеного запису. Додатково задається поле user.password з незашифрованим паролем.
Клас для роботи з користувачами.
Можливі значення - ім'я класу.
Значення за замовчуванням - \modUsers
Шлях до файлу класу для роботи з користувачами.
Можливі значення - відносний шлях до файлу.
Значення за замовчуванням - assets/lib/MODxAPI/modUsers.php
Дозволені для обробки поля. Поля, які не вказані в списку, ігноруються. Поля username, email і password завжди дозволені.
Якщо не задано, то дозволені всі поля.
Можливі значення - імена полів форми, розділені комою.
Значення за замовчуванням - порожньо.
Заборонені для обробки поля. Поля, зазначені в списку, ігноруються. Поля username, email і password видаляються зі списку заборонених.
Можливі значення - імена полів форми, розділені комою.
Значення за замовчуванням - порожньо.
Додає зареєстрованого користувача до зазначених груп.
Можливі значення - імена груп, розділені комою (якщо імена містять кому в назві, то можна задати значення параметра масивом).
Значення за замовчуванням - порожньо.
Включає перевірку активації облікового запису користувача (див. "Активація облікових записів"). При цьому після збереження запису буде встановлено поле activate.url, що містить посилання на сторінку з викликом сніпета для активації облікового запису.
Можливі значення - 1 або 0.
Значення за замовчуванням - 0.
Якщо включена перевірка активації, то в цьому параметрі необхідно вказати id сторінки, на якій викликається сніппет для активації.
Можливі значення - id сторінки.
Значення за замовчуванням - значення $modx->config['site_start'].
Дозволяє виконати обробку даних після збереження.
Можливі значення - імена сніпетів, анонімні функції, статичні методи завантажених класів.
Значення за замовчуванням - порожньо.
Перенаправляє користувача на вказану статтю після реєстрації.
Можливі значення - id цільової сторінки або масив.
Значення за замовчуванням - порожньо.
Перенаправляє вже авторизованого користувача на вказану статтю.
Можливі значення - id цільової сторінки.
Значення за замовчуванням - порожньо.
Шаблон повідомлення для вже авторизованого користувача.
Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.
Значення за замовчуванням - запис з лексикону Register з ключем [+register.default_skipTpl+]
Шаблон повідомлення про успішну реєстрацію.
Можливі значення - ім'я шаблону, вказане за правилами завдання шаблонів в DocLister.
Значення за замовчуванням - запис з лексикону Register з ключем [+register.default_successTpl+]
Довжина пароля (якщо створюється автоматично).
Можливі значення - число символів більше 6.
Значення за замовчуванням - 6.