В плагине имеются вспомогательные хелперы, которые могут быть вам полезны при работе с шаблонами.
Рассмотрим все доступные хелперы плагина и примеры их использования.
Проверка наличия контакта в категориях пользователя
Категории пользователя создаются в приложении Контакты
/**
* @param int $contact_id - ID контакт
* @param int|array $category_id - ID категории контактов
* @return bool
**/
{shopGiftcertificatesPluginHelper::contactInCategory($contact_id, $category_id)}
Предположим, что вы хотите проверить, входит ли покупатель в группы пользователей: Оптовики и VIP.
Для этого необходимо узнать ID категорий (допустим, это 4 и 9) и воспользоваться хелпером:
{if shopGiftcertificatesPluginHelper::contactInCategory($wa->user()->getId(), [4, 9])}
{shopGiftcertificatesPluginHelper::generateCertificateTemplate([
'amount' => '700',
'currency' => 'RUB',
'state_id' => 19,
'send' => 'user',
'contact_id' => $wa->user()->getId()
])}
{/if}
Вывод шаблона сертификата
Хелпер имеет встроенную проверку доступности сертификата
/**
* @param int|string $certificate_id - ID созданного сертификата или код созданного сертификата
* @param bool $skip_validations - стоит ли пропускать проверки или нет
* @return string
**/
{shopGiftcertificatesPluginHelper::showCertificateTemplate($certificate_id, $skip_validations = false)}
Предположим, необходимо отобразить сертификат, зная его ID (допустим, это 5).
{shopGiftcertificatesPluginHelper::showCertificateTemplate(5)}
Если сертификат имеет ограничения или его статус не позволяет использовать сертификат, ничего не будет отображено.
Отмените проверку доступности, если хотите всегда отображать сертификат:
{shopGiftcertificatesPluginHelper::showCertificateTemplate(5, true)}
Вывод шаблона сертификата с тестовыми данными
Используйте хелпер, если хотите посмотреть, как будет выглядеть шаблон вашего сертификата
/**
* @param string $template_id - ID шаблона сертификата
* @return string
**/
{shopGiftcertificatesPluginHelper::showTemplate($template_id)}
ID шаблонов сертификатов и данные конструкции доступны в разделе Магазин - Плагины - Подарочные сертификаты - Шаблоны.
Вывод шаблона с ID template2.
{shopGiftcertificatesPluginHelper::showTemplate('template2')}
Создание сертификата и получение массива данных
Подробнее про хелпер читайте в статье про генерацию.
/**
* @param array $params - Параметры сертификата
* @return array
**/
{shopGiftcertificatesPluginHelper::generateCertificate($params = [])}
Создание сертификата и вывод его шаблона
Подробнее про хелпер читайте в статье про генерацию.
/**
* @param array $params - Параметры сертификата
* @return string
**/
{shopGiftcertificatesPluginHelper::generateCertificateTemplate($params = [])}
Создание сертификата в зависимости от проверок
Подробнее про хелпер читайте в статье про генерацию и про особенности.
/**
* @param array $params - Параметры сертификата
* @param string[] $validation_types - Виды проверок, чтобы понять, стоит ли создавать сертификат или нет
* @param bool $return_template - Вернуть массив данных или шаблон сертификата
* @return string|array
**/
{shopGiftcertificatesPluginHelper::generateOneCertificate($params = [], $validation_types = ['user'], $return_template = false)}
Вывод формы для заказа сертификата
Подробнее про работу хелпера читайте в статье про продажу сертификатов.
Хелпер позволяет организовать продажу сертификатов на витрине.
/**
* @return string
**/
{shopGiftcertificatesPluginHelper::form()}
Вывод формы для ввода сертификата в корзине
Подробнее про работу хелпера читайте в статье.
Хелпер позволяет изменить место вывода формы в корзине.
/**
* @return string
**/
{shopGiftcertificatesPluginHelper::getCartForm()}
Вывод дополнительной информации о сертификате в пошаговой корзине
Подробнее про работу хелпера читайте в статье.
/**
* @param array $item - Данные товара из корзины
* @return string
**/
{shopGiftcertificatesPluginHelper::getCartItemCertificateBlock($item)}