Загрузка

Хелпер


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

При выводе хелпера в разных местах сайта стоит учитывать особенности работы механизма проверок.

При указании $validation_types проверяется, был ли когда-либо сгенерирован сертификат через хелпер generateOneCertificate.

Проверка пользователя (user)

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

Данная проверка происходит для указанного в параметрах ($params) ID контакта. Если контакт не указан, проверяется поле email. Если email не найден, используется ID текущего контакта, вызвавшего хелпер. Если покупатель не авторизован, он проверку не пройдет.


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

Если хелпер используется в уведомлениях, рассылках, следует указать в параметре $params ID контакта или его email, чтобы было понятно, какого пользователя проверять.

Проверка сессии (session)

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

Данный вид проверки следует использовать только во фронтенде, когда сертификат создается при просмотре страницы пользователем, потому что значение в сессии будет сохраняться именно для него.


Если осуществлять данную проверку в уведомлениях, может наблюдаться некорректная работа.

Проверка куки (cookie)

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

Данный вид проверки следует использовать только во фронтенде, когда сертификат создается при просмотре страницы пользователем, потому что значение в куке будет сохраняться именно для него.


Если осуществлять данную проверку в уведомлениях, может наблюдаться некорректная работа.

Проверка IP (ip)

Проверяет, был ли сгенерирован сертификат для IP через данный хелпер.

Данный вид проверки следует использовать только во фронтенде, когда сертификат создается при просмотре страницы пользователем, потому что значение о IP будет сохраняться именно для него.


Если осуществлять данную проверку в уведомлениях, может наблюдаться некорректная работа.

Смягчение проверок

Приведенные примеры проверяют был ли когда-либо создан сертификат через хелпер.

Что делать, если для одного и того же пользователя необходимо сгенерировать сертификат сначала в рассылках, а потом через время в уведомлении или на главной странице?.

Вы можете указать в ключах параметра $validation_types уникальный код, по которому будет производиться проверка генератора.

Рассмотрим на примерах.

Генератор для рассылок


Генератор для уведомлений


В одном случае для проверки пользователя мы использовали код mailer, а в другом - код notification.

Таким образом мы создали 2 разных генератора с проверкой пользователя.

Опубликовано: 3 ноября 2020
0
Запрос на обработку

Можете заполнить форму, и мы свяжемся с вами

Ваше имя
Email
Сообщение