Компоненты
Модуль поставляется в комплекте с компонентами:
| Название | Описание |
|---|---|
| rarus.lms:balance | Вывод бонусного счета пользователя |
| rarus.lms:basket | Отображение начисляемых бонусных баллов |
| rarus.lms:order | Форма для ввода оплаты бонусами и промокодом |
| rarus.lms:certificate.buy | Форма покупки произвольного сертификата |
rarus.lms:balance
-
Создайте страницу, например /personal/bonus/index.php
-
Подключите компонент
<?php require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php"); global $APPLICATION; $APPLICATION->setTitle('Мои бонусы'); $APPLICATION->IncludeComponent( 'rarus.lms:balance', '' ); require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php");
rarus.lms:basket
-
Откройте файл template.php компонента bitrix:sale.basket.basket
-
Найдите строку
<div id="basket-root" class="bx-basket bx-<?= $arParams['TEMPLATE_THEME'] ?> bx-step-opacity" style="opacity: 0;"> -
После нее вставьте код компонента
<?php $APPLICATION->IncludeComponent( 'rarus.lms:basket', '' ); ?>
rarus.lms:order
-
Откройте файл template.php компонента bitrix:sale.order.ajax
-
Найдите строку
ORDER SAVE BLOCK -
Перед ней вставьте код компонента
<?php $APPLICATION->IncludeComponent( 'rarus.lms:order', '', [ 'PERSON_TYPE_ID' => $arResult['USER_VALS']['PERSON_TYPE_ID'] ] ); ?>
rarus.lms:certificate.buy
-
Создайте раздел, например, gift-card
-
Разместите в index.php код компонента
<?php require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php"); global $APPLICATION; $APPLICATION->IncludeComponent( "rarus.lms:certificate.buy", "", [ 'PAYMENT_SYSTEM' => 1, 'PAYMENT_URL' => '/gift-card/payment.php' ] ); require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php"); -
Настройте параметры PAYMENT_SYSTEM — идентификатор платежной системы, PAYMENT_URL — страница оплаты
-
Создайте страницу оплаты, например, /gift-card/payment.php
<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'); use Bitrix\Main\Application; use Bitrix\Main\Loader; use Bitrix\Sale\Order; $request = Application::getInstance()->getContext()->getRequest(); global $APPLICATION; ?> <?php try { Loader::includeModule('sale'); $order = Order::load($request->getQuery('ORDER_ID')); if (!$order) { throw new \InvalidArgumentException('Заказ не найден'); } ob_start(); $APPLICATION->IncludeComponent( 'bitrix:sale.order.payment', '', [ 'PAY_SYSTEM_ID' => 1, 'PERSON_TYPE_ID' => '1' ] ); $formPay = ob_get_contents(); ob_end_clean(); require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_after.php'); ?> <div class="p1"> <?= $formPay ?> </div> <?php } catch (Throwable $e) { require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_after.php'); ?> <p> К сожалению, на данный момент оплата по этому счету через сервис невозможна! </p> <?php } ?> <?php require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/footer.php'; -
Настройте параметры PAY_SYSTEM_ID — идентификатор платежной системы, PERSON_TYPE_ID — Тип плательщика
-
Создайте инфоблок, которые является торговым каталогом. В инфоблок будут добавляться подарочные сертификаты в виде товаров.
-
Перейдите в настройки модуля 1С Рарус: Система управления лояльностью ПРО в административной части сайта и установите параметры создания подарочных сертификатов.
-
В разделе Настройки → Настройки продукта → Почтовые и СМС события → Типы событий создайте почтовое событие RARUS_LMS_SEND_CERTIFICATE, необходимое для отправки письма с кодом подарочного сертификата.
-
В разделе Настройки → Настройки продукта → Почтовые и СМС события → Почтовые шаблоны создайте почтовый шаблон со следующими параметрами:
- От кого: #DEFAULT_EMAIL_FROM#
- Кому: #TO#
- Тема: Подарочный сертификат
- Тип: HTML
Макет html письма:
<!DOCTYPE html> <html lang="en" xmlns:v="urn:schemas-microsoft-com:vml"> <head> <meta charset="utf-8"> <meta name="x-apple-disable-message-reformatting"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="format-detection" content="telephone=no, date=no, address=no, email=no"> <!--[if mso]> <noscript> <xml> <o:OfficeDocumentSettings xmlns:o="urn:schemas-microsoft-com:office:office"> <o:PixelsPerInch>96</o:PixelsPerInch> </o:OfficeDocumentSettings> </xml> </noscript> <style> td,th,div,p,a,h1,h2,h3,h4,h5,h6 {font-family: "Segoe UI", sans-serif; mso-line-height-rule: exactly;} </style> <![endif]--> <title>Вам подарочный сертификат</title> <style> @media (max-width: 600px) { .sm-w-full { width: 100% !important; } .sm-px-24 { padding-left: 24px !important; padding-right: 24px !important; } .sm-leading-32 { line-height: 32px !important; } } </style> </head> <body style="margin: 0; width: 100%; padding: 0; word-break: break-word; -webkit-font-smoothing: antialiased; background-color: #efefef;"> <div style="display: none;">Вы стали счастливым обладателем подарочного сертификата#847; ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ‌  ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ‌  ͏ ͏ ͏ ͏ ͏ </div> <div role="article" aria-roledescription="email" aria-label="Вам подарочный сертификат" lang="en"> <table style="width: 100%; font-family: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;" cellpadding="0" cellspacing="0" role="presentation"> <tr> <td align="center"> <table class="sm-w-full" style="width: 600px;" cellpadding="0" cellspacing="0" role="presentation"> <tr> <td align="center" class="sm-px-24"> <table style="margin-top: 64px; margin-bottom: 64px; width: 100%;" cellpadding="0" cellspacing="0" role="presentation"> <tr> <td style="text-align: center;"> <img src="https://rzn-wb-01.1c-hosting.com/images/email/sul-certificate/sul-certificate.png" alt="Подарочный сертификат" style="max-width: 100%; vertical-align: middle; line-height: 100%; border: 0;"> </td> </tr> <tr> <td class="sm-px-24" style="border-radius: 4px; background-color: #ffffff; padding: 48px; text-align: left; font-size: 16px; line-height: 24px;"> <p class="sm-leading-32" style="margin: 0; margin-bottom: 24px; text-align: center; font-size: 24px; font-weight: 600; color: #000000;">Поздравляем!</p> <p style="margin: 0; margin-bottom: 24px; text-align: center;">#TEXT#<br><br>Отправитель: #FROM#</p> <div style="line-height: 100%;"> <div style="margin: auto; border-radius: 4px; background-color: #f3f3f3; padding-top: 20px; padding-bottom: 20px; padding-left: 24px; padding-right: 24px; text-align: center; font-size: 18px; font-weight: 600; color: #333333;"> <span>#CERTIFICATE#</span> </div> <p style="margin-top: 8px; text-align: center; font-size: 14px; color: #757575;">Сертификат действует в течение года с момента активации</p> <p style="margin-top: 40px; text-align: center; font-weight: 600;">Удачных покупок! </p> </div> <table style="width: 100%;" cellpadding="0" cellspacing="0" role="presentation"> <tr> <td style="padding-top: 32px; padding-bottom: 32px;"> <div style="height: 1px; line-height: 1px;">‌</div> </td> </tr> </table> </td> </tr> <tr> <td style="height: 48px;"></td> </tr> </table> </td> </tr> </table> </td> </tr> </table> </div> </body> </html> -
В разделе Настройки → Настройки продукта → Почтовые и СМС события → Типы событий создайте почтовое событие RARUS_LMS_CERTIFICATE_CREATE_ERROR, необходимое для отправки письма уведомления об ошибке при создании подарочного сертификата.
-
В разделе Настройки → Настройки продукта → Почтовые и СМС события → Почтовые шаблоны создайте почтовый шаблон со следующими параметрами:
- От кого: #DEFAULT_EMAIL_FROM#
- Кому:
#TO#<admin_email> - Тема:
ПодарочныйОшибкасертификатпри создании сертификата - Тип: Текст
Макет письма:
Ошибка при создании сертификата. Заказ: #ORDER_ID# Ошибка: #ERROR# Проверьте заказ в админке.