Сниппеты
RenderForm
Назначение
Сохраняет пресет(параметры сниппета) в сессию, рендерит чанк формы, позволяет не использовать файл пресетов.
Параметры
Принимает все те же параметры, что и пресет и ещё:
tpl
- чанк формы.presetName
- имя пресета, не должно совпадать ни с одним именем в файле пресетов.
Результат работы
Возвращает распарсенный чанк формы.
Пример использования
{'RenderForm' | snippet: [
'tpl' => '@FILE chunks/forms/exampleForm.tpl',
'presetName' => 'snippet_form',
'extends' => 'default',
'redirectTo' => 0,
'redirectTimeout' => 3000,
'clearFieldsOnSuccess' => 1,
'fieldNames' => 'age==Возраст,name==Имя,phone==Телефон,email==Почта',
'successMessage' => 'Форма отправлена!',
'validationErrorMessage' => 'Исправьте ошибки!'
]}
ActivateUser
Назначение
Активации пользователя после подтверждения адреса электронной почты.
Параметры
toPls
- позволяет сохранить результат работы сниппета в указанный плейсхолдер.
Результат работы
Возвращает массив данных активированного пользователя.
Пример использования
Информация
Вызывать сниппет следует на странице с ID равным значению параметра activationResourceId
.
{'!ActivateUser' | snippet: ['toPls' => 'userData']}
requiredIf
Назначение
Сниппет-валидатор для того, чтобы делать проверяемое поле обязательным в зависимости от значения в другом поле.
Пример использования
...
'validate' => 'ogrn:requiredIf=^legal_form|2^',
...
В примере поле с именем ogrn будет обязательным, если поле именем legal_form имеет значение 2.
checkPassLength
Назначение
Сниппет-валидатор для проверки длины пароля. Используйте именно его, а не стандартный валидатор minLength, так как в компоненте доступна автоматическая генерация пароля, если пользователь его не укажет. При использовании minLength и пустом поле с паролем будет возвращаться ошибка валидации, в то время как checkPassLength проверяет длину только в случае, когда пароль задан. При этом в качестве параметра можно передать минимальную длину, если этого не сделать будет взято значение системной настройки password_min_length или 8.
Пример использования
...
'validate' => 'password:checkPassLength=^10^',
...
passwordConfirm
Назначение
Сниппет-валидатор для проверки совпадения паролей. Используйте именно его, а не стандартный валидатор password_confirm, так как в компоненте доступна автоматическая генерация пароля, если пользователь его не укажет. При использовании password_confirm и пустом поле с паролем будет возвращаться ошибка валидации, в то время как passwordConfirm проверяет длину только в случае, когда пароль задан. При этом в качестве параметра НУЖНО передать имя поля с паролем.
Пример использования
...
'validate' => 'password_confirm:passwordConfirm=^password^',
...
userNotExists
Назначение
Сниппет-валидатор проверяет существование пользователя с таким username на сайте. Возвращает ошибку, если пользователь НЕ НАЙДЕН. Используется при восстановлении доступа на сайт.
Пример использования
...
'validate' => 'email:required:userNotExists',
...
userExists
Назначение
Сниппет-валидатор проверяет существование пользователя с таким username на сайте. Возвращает ошибку, если пользователь НАЙДЕН.
PasswordReset
Назначение
Сниппет-активатор сброса пароля.
Параметры
toPls
- позволяет сохранить результат работы сниппета в указанный плейсхолдер.
Результат работы
Возвращает массив данных пользователя, для которого был сброшен пароль.
Пример использования
Информация
Вызывать сниппет следует на странице с ID равным значению параметра activationResourceId
.
{'!PasswordReset' | snippet: []}
Pagination
Назначение
Сниппет-обёртка для вывода результатов работы сниппета с постраничной навигацией.
Параметры
snippet
- сниппет, который будет вызван при смене страницы, всегда должен иметь значение !Pagination.render
- сниппет, который будет вызван для отрисовки результатов, он должен возвращать HTML и устанавливать плейсхолдер указанный в параметре totalVar. По умолчанию используется !pdoResources и для него обязательно указывать параметр setTotal.presetName
- имя пресета, в который будут сохранены параметры вызова, должен быть уникальным для каждого вызова Pagination на страницы.tplEmpty
- чанк для пустого результата работы сниппета из параметра render.pagination
- префикс уникализации get-параметра page и плейсхолдеров currentPage, currentPage, limit, должен соответствовать значениям data-атрибутов data-pn-result, data-pn-paginationresultBlockSelector
- CSS-селектор блока для вставки результатов работы сниппета.resultShowMethod
- метод вывода результатов; insert - вставляет контент взамен имеющемуся, append - добавляет контент к существующему.hashParams
- список ключей параметров вызова сниппета, которые попадут в хэш.totalVar
- ключ плейсхолдера для сохранения общего количества результатов.limit
- количество результатов на одной странице.
Остальные параметры относятся в сниппету из параметра render
Результат работы
Возвращает HTML первой страницы(порции) результатов работы сниппета из параметра render.
Пример использования
{'!Pagination' | snippet: [
'snippet' => '!Pagination',
'render' => '!pdoResources',
'presetName' => 'pagination',
'tplEmpty' => '@FILE chunks/pdoresources/empty.tpl',
'pagination' => 'one',
'resultBlockSelector' => '[data-pn-result="one"]',
'resultShowMethod' => 'insert',
'hashParams' => '',
'totalVar' => 'total'
'limit' => 6,
'parents' => 7,
'tpl' => '@FILE chunks/pdoresources/item.tpl',
'includeContent' => 1,
'setTotal' => 1,
]}