Skip to content
  1. Компоненты
  2. SendIt
  3. Сниппеты

Сниппеты

RenderForm

Назначение

Сохраняет пресет(параметры сниппета) в сессию, рендерит чанк формы, позволяет не использовать файл пресетов.

Параметры

Принимает все те же параметры, что и пресет и ещё:

  • tpl - чанк формы.
  • presetName - имя пресета, не должно совпадать ни с одним именем в файле пресетов.

Результат работы

Возвращает распарсенный чанк формы.

Пример использования

fenom
{'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.

fenom
{'!ActivateUser' | snippet: ['toPls' => 'userData']}

requiredIf

Назначение

Сниппет-валидатор для того, чтобы делать проверяемое поле обязательным в зависимости от значения в другом поле.

Пример использования

php
...
'validate' => 'ogrn:requiredIf=^legal_form|2^',
...

В примере поле с именем ogrn будет обязательным, если поле именем legal_form имеет значение 2.

checkPassLength

Назначение

Сниппет-валидатор для проверки длины пароля. Используйте именно его, а не стандартный валидатор minLength, так как в компоненте доступна автоматическая генерация пароля, если пользователь его не укажет. При использовании minLength и пустом поле с паролем будет возвращаться ошибка валидации, в то время как checkPassLength проверяет длину только в случае, когда пароль задан. При этом в качестве параметра можно передать минимальную длину, если этого не сделать будет взято значение системной настройки password_min_length или 8.

Пример использования

php
...
'validate' => 'password:checkPassLength=^10^',
...

passwordConfirm

Назначение

Сниппет-валидатор для проверки совпадения паролей. Используйте именно его, а не стандартный валидатор password_confirm, так как в компоненте доступна автоматическая генерация пароля, если пользователь его не укажет. При использовании password_confirm и пустом поле с паролем будет возвращаться ошибка валидации, в то время как passwordConfirm проверяет длину только в случае, когда пароль задан. При этом в качестве параметра НУЖНО передать имя поля с паролем.

Пример использования

php
...
'validate' => 'password_confirm:passwordConfirm=^password^',
...

userNotExists

Назначение

Сниппет-валидатор проверяет существование пользователя с таким username на сайте. Возвращает ошибку, если пользователь НЕ НАЙДЕН. Используется при восстановлении доступа на сайт.

Пример использования

php
...
'validate' => 'email:required:userNotExists',
...

userExists

Назначение

Сниппет-валидатор проверяет существование пользователя с таким username на сайте. Возвращает ошибку, если пользователь НАЙДЕН.

PasswordReset

Назначение

Сниппет-активатор сброса пароля.

Параметры

  • toPls - позволяет сохранить результат работы сниппета в указанный плейсхолдер.

Результат работы

Возвращает массив данных пользователя, для которого был сброшен пароль.

Пример использования

Информация

Вызывать сниппет следует на странице с ID равным значению параметра activationResourceId.

fenom
{'!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-pagination
  • resultBlockSelector - CSS-селектор блока для вставки результатов работы сниппета.
  • resultShowMethod - метод вывода результатов; insert - вставляет контент взамен имеющемуся, append - добавляет контент к существующему.
  • hashParams - список ключей параметров вызова сниппета, которые попадут в хэш.
  • totalVar - ключ плейсхолдера для сохранения общего количества результатов.
  • limit - количество результатов на одной странице.

Остальные параметры относятся в сниппету из параметра render

Результат работы

Возвращает HTML первой страницы(порции) результатов работы сниппета из параметра render.

Пример использования

fenom
{'!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,
]}