Для понимания параметров и методов хелперов, изучите статьи генерация сертификатов и особенности работы хелпера generateOneCertificate.
Автоматическое создание сертификатов может быть организовано в различных местах сайта. Это поможет вам стимулировать людей совершать покупки в вашем магазине.
Рассмотрим примеры генерации сертификатов:
- Сертификаты в уведомлениях.
- Сертификаты в Рассылках.
- Сертификаты на странице успешного оформления.
- Сертификаты на главной странице.
- Сертификаты на странице товара.
Сертификаты в уведомлениях
Необходимо при переводе заказа в статус Выполнен
каждый раз дарить покупателю подарочный сертификат.
Открываем раздел Магазин - Настройки - Уведомления - Заказ выполнен (Покупатель)
.
Находим блок с кодом:
Спасибо за покупку в магазине
Под ним вставляем код генерации сертификата.
{$certificate = shopGiftcertificatesPluginHelper::generateOneCertificate([ 'amount' => '700', 'currency' => 'RUB', 'contact_id' => $order.contact_id, 'state_id' => 19 ], ['notification' => 'user'])} {if $certificate} <p>Мы дарим вам подарочный сертификат на сумму {shop_currency($certificate.amount, $certificate.currency, $order.currency)}!</p> <p>Для активации сертификата введите код на странице оформления: <b>{$certificate.code}</b></p> {/if}
Вот так должно выглядеть уведомление:
Если хотите, чтобы сертификаты создавались при сумме заказа от 15 000 (в основной валюте), вам стоит добавить соответствующее условие:
{if shop_currency($order.total, $order.currency, $wa->shop->primaryCurrency(), false) > 15000} {$certificate = shopGiftcertificatesPluginHelper::generateOneCertificate([ 'amount' => '700', 'currency' => 'RUB', 'contact_id' => $order.contact_id, 'state_id' => 19 ], ['notification' => 'user'])} {if $certificate} <p>Мы дарим вам подарочный сертификат на сумму {shop_currency($certificate.amount, $certificate.currency, $order.currency)}!</p> <p>Для активации сертификата введите код на странице оформления: <b>{$certificate.code}</b></p> {/if} {/if}
При использовании генераторов в уведомлениях рекомендуется использовать проверку пользователя (user
), если вы работаете через хелпер generateOneCertificate
.
Сертификаты в Рассылках
Через приложение Рассылки в своих письмах вы можете создавать сертификаты.
1) Создайте блок с любым ID. Например, giftcertificates.mailer
в разделе Сайт - Блоки
.
В содержимое блока вставьте одну из следующих конструкций кода, чтобы сгенерировать сертификаты.
Сертификат пользователя:
{if !empty($id) && $wa->shop} {shopGiftcertificatesPluginHelper::generateCertificateTemplate([ 'amount' => '700', 'currency' => 'RUB', 'state_id' => 19, 'send' => 'user', 'contact_id' => $id ])} {/if}
Сертификат с привязкой по email:
{if !empty($email) && $wa->shop} {shopGiftcertificatesPluginHelper::generateCertificateTemplate([ 'amount' => '700', 'currency' => 'RUB', 'state_id' => 19, 'send' => 'email', 'email' => $email ])} {/if}
Сертификат с проверкой пользователя:
{if !empty($id) && $wa->shop} {shopGiftcertificatesPluginHelper::generateOneCertificate([ 'amount' => '700', 'currency' => 'RUB', 'contact_id' => $id, 'state_id' => 19 ], ['mailer' => 'user'], true)} {/if}
2) Скопируйте только ID блока. В данном примере это giftcertificates.mailer
.
3) Вставьте в содержимое письма конструкцию:
{$wa->block("giftcertificates.mailer", ["id" => ifempty($id, 0), "email" => ifempty($email, "")])}
Вам нужно заменить только giftcertificates.mailer
, остальной код не изменяйте.
При использовании генераторов в рассылках рекомендуется использовать проверку пользователя (user
), если вы работаете через хелпер generateOneCertificate
.
Сертификаты на странице успешного оформления
Необходимо дарить сертификат с бесплатным товаром всем покупателям, оформившим заказ на сумму 25000 руб (основная валюта). В сертификат добавим ограничения по сумме заказа и времени.
Откройте шаблон checkout.success.html
в разделе Магазин - Витрина - Шаблоны
.
В любое удобное для вас место вставьте конструкцию кода:
{if !empty($order.id) && shop_currency($order.total, $order.currency, $wa->shop->primaryCurrency(), false) > 25000} {shopGiftcertificatesPluginHelper::generateCertificateTemplate([ 'state_id' => 19, 'use_limitations' => 1, 'limitations' => [ 'lifetime' => 10, 'min' => [ 'value' => 10000, 'currency' => 'RUB' ] ], 'free_products' => [ 'skus' => [30] ] ])} {/if}
Сертификаты на главной странице
Необходимо дарить сертификат всем пользователям из группы VIP
1) Находим ID группы VIP. Для этого откройте приложение Контакты
и вашу группу VIP. В адресной строке браузера будет отображен ID категории контактов.
В данном примере это 4.
2) Откройте шаблон home.html
в разделе Магазин - Витрина - Шаблоны
.
3) В любое удобное для вас место вставьте конструкцию кода:
{if shopGiftcertificatesPluginHelper::contactInCategory($wa->user()->getId(), 4)} {shopGiftcertificatesPluginHelper::generateOneCertificate([ 'amount' => '700', 'currency' => 'RUB', 'contact_id' => $wa->user()->getId(), 'state_id' => 19 ], ['home' => 'user'], true)} {/if}
Подробнее про метод contactInCategory
читайте в статье доступные хелперы.
Сертификаты на странице товара
Сгенерируем сертификат на странице конкретного товара. Сертификат будет сгенерирован единожды для пользователя.
Откройте шаблон product.html
(или product.cart.html
) в разделе Магазин - Витрина - Шаблоны
.
Предположим, что ID нужного нам товара равен 25.
Вставьте конструкцию в нужную часть шаблона:
{if $product.id == '25'} {$certificate = shopGiftcertificatesPluginHelper::generateOneCertificate([ 'amount' => '700', 'currency' => 'RUB', 'state_id' => 19 ], ['product' => 'user'])} {if $certificate} <p>Поздравляем! Магазин дарит вам сертификат на сумму {shop_currency($certificate.amount, $certificate.currency)}!</p> <p>Для активации сертификата введите код на странице оформления: <b>{$certificate.code}</b></p> {/if} {/if}
Если вы не можете подобрать нужно место вывода, проконсультируйтесь с разработчиком темы дизайна.