Быстрый старт

04 декабря 2019, 07:00

Вывод формы бонусов

Просто вызываем сниппет msBonus2Form в нужном месте:

{'!msBonus2Form' | snippet}

Вывод списываемых бонусов вне чанка формы

Вывести количество списываемых бонусов вне чанка tpl.msBonus2.form, например возле итоговой стоимости заказа, можно таким кодом:

{var $msb2_discount = ($.session['msBonus2'] && $.session.msBonus2['writeoff'])
    ? $.session.msBonus2.writeoff[$_modx->context['key']] : 0}
<div class="[ js-msb2-discount-wrap ]" style="display:{$msb2_discount ? 'block' : 'none'}">
    Оплата бонусами:
    <span class="[ js-msb2-discount-value ]">{$msb2_discount ?: 0}</span>
    {'ms2_frontend_currency' | lexicon}
</div>

Поддерживается с версии 1.1.4

Статусы заказов

Если у вас были изменены основные статусы заказов, то необходимо зайти в системные настройки компонента и указать значимые для работы статусы: msb2_order_status_new, msb2_order_status_paid, msb2_order_status_cancel.

Разделы для начисления и списания

За это отвечают системные настройки msb2_categories_for_accrual_of_points и msb2_categories_for_writing_off_points. Каждая из них принимает id разделов через запятую.

Время активации баллов

За это отвечает системная настройка msb2_activation_time_for_bonus. В качестве ключа в ней указывается тип начисления, а в качестве значения - кол-во секунд, спустя которое баллы окажутся на балансе пользователя (до этого они будут лежать у него в резерве).

Указывается в формате JSON.

Вот пример:

{
  "order_accrual": 86400,
  "signup": 86400,
  "dob": 0,
  "offline": 0
}

Здесь мы указали, что баллы за заказ и за регистрацию пользователь сможет использовать только спустя сутки: 86400 / 24 / 60 / 60 = 1.

Время жизни баллов

За это отвечает системная настройка msb2_lifetime_for_bonus. В качестве ключа в ней указывается тип начисления, а в качестве значения - кол-во секунд, спустя которое баллы сгорают на бонусном счёте пользователя.

Обратите внимание, чтобы значения в данной настройке были выше (либо по нулям), чем в msb2_activation_time_for_bonus.

Указывается в формате JSON.

Вот пример:

{
  "order_accrual": 31556926,
  "signup": 2629743,
  "dob": 604800,
  "offline": 0
}

Здесь мы указали, что баллы:

  • за заказ устареют спустя год,
  • за регистрацию - спустя месяц,
  • за день рождения - спустя неделю.

Дополнительные действия для ручного начисления и списания

Действия ручного начисления и списания хранятся в системной настройке msb2_form_action_types. Указываются в формате JSON.

Вот пример:

{
  "offline": {"+":"Оффлайн начисление", "-":"Оффлайн списание"},
  "win": {"+":"Победа в конкурсе"}
}