Доступные хелперы

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

Рассмотрим все доступные хелперы плагина и примеры их использования.

Проверка наличия контакта в категориях пользователя

Категории пользователя создаются в приложении Контакты

/**
 * @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)}