AjaxFormitLogin
Сниппет для вывода формы.
Параметры
Параметр | По умолчанию | Описание |
---|---|---|
form | aflExampleForm | Чанк формы |
snippet | FormIt | Сниппет, который будет обрабатывать форму |
hooks | FormItSaveForm,email | Хуки, которые будут использованы для обработки формы. |
emailTo | Email получателя | |
emailFrom | Email отправителя. При использовании SMTP нужно указывать email пользователя SMTP. | |
emailSubject | Тема письма. | |
emailTpl | aflExampleEmail | Чанк письма. |
successMessage | Форма успешно отправлена! Менеджер свяжется с Вами в течение 5 минут. | Уведомление об успешной отправке формы. |
clearFieldsOnSuccess | 1 | Указывает JS очищать ли поля после отправки формы. |
transmittedParams | ["success" => "", "error" => "aliases"] | Список параметров для передачи в JS. |
aliases | email==Email | Список псевдонимов полей для показа уведомлений об ошибках в них. |
validate | email:required:email | Список полей и их валидаторов. |
showUploadProgress | 1 | Указывает JS показывать ли процесс загрузки файлов. |
spamProtection | 1 | Активирует встроенную защиту от спама. |
redirectTimeout | 2000 | Задержка перед переадресацией в миллисекундах. |
redirectTo | ID страницы переадресации или ссылка на страницу. | |
autoLogin | Авторизовывать ли пользователя автоматически после регистрации учётной записи. | |
passwordField | password | Имя поля содержащего пароль. |
usernameField | username | Имя поля содержащего имя пользователя. |
activation | Нужна ли активация, если да - на email пользователя будет выслано письмо с ссылкой на страницу активации. | |
moderate | Нужна ли модерация. Если нужна - профиль пользователя будет заблокирован пока модератор его не разблокирует. | |
activationResourceId | ID ресурса, на который будет отправлен пользователь для активации аккаунта. | |
usergroupsField | Поле со списком групп разделенных запятыми, в которые нужно добавить пользователя при регистрации. Можно указать так же уровень доступа (Member или SuperUser) и rank: group_id:permission_id:rank, например 2:1:0 . Можно указать только два первых параметра или только ID группы. | |
authenticateContexts | Поле со списком контекстов разделенных запятыми, в которых нужно авторизовать пользователя. | |
rememberme | Запоминать ли пользователя. | |
activationUrlTime | 10800 | Время действия ссылки на активацию в секундах. |
method | Метод класса AjaxIdentification (register, login, logout, forgot, update). |
Подсказка
Bы так же можете использовать любые параметры сниппета FormIt.
Как видно из таблицы по умолчанию сниппет настроен на отправку форм и сохранение их данных в админке.
Пример использования
Минимальный вызов должен выглядеть так:
fenom
{'!AjaxFormitLogin' | snippet: [
'emailTo' => 'name@domain.ru',
'emailFrom' => 'noreply@domain.ru',
'emailSubject' => 'Тема письма',
]}
и обязательно должен вызываться некэшированным. В чанк формы вы можете передавать какие угодно данные, указывая их как параметры сниппета. Так же любые данные можно передавать в JS через параметр transmittedParams
. А оптимальный вызов такой:
fenom
{'!AjaxFormitLogin' | snippet : [
'form' => 'aflExampleForm',
'snippet' => 'FormIt',
'hooks' => 'FormItSaveForm,email',
'emailTo' => 'shev.art.v@yandex.ru',
'emailFrom' => 'noreply@art-sites.ru',
'emailSubject' => 'Тестовая форма',
'emailTpl' => 'aflExampleEmail',
'successMessage' => 'Форма успешно отправлена! Менеджер свяжется с Вами в течение 5 минут.',
'clearFieldsOnSuccess' => 1,
'transmittedParams' => ["success" => 'ym_goal', "error" => 'aliases'],
'aliases' => 'email==Email,phone==Телефон,name==Имя,politics==Правила сервиса',
'showUploadProgress' => 1,
'spamProtection' => 1,
'ym_goal' => 'TEST_GOAL',
'validate' => 'email:required:email,name:required:minLength=^3^,phone:required,politics:minValue=^1^',
'validationErrorMessage' => 'Исправьте, пожалуйста, ошибки!',
'email.vTextRequired' => 'Укажите email.',
'fullname.vTextRequired' => 'Укажите ФИО.',
'fullname.vTextMinLength' => 'Слишком короткое ФИО.',
'secret.vTextContains' => 'Кажется Вы робот. Если это не так, обновите страницу.',
'politics.vTextMinValue' => 'Примите наши условия.',
]}