{$plugin_info.name|escape}

{$wa->csrf()} {if $snova.storefronts}

[`Витрина`]

{if count($snova.storefronts) > 1} {else} {$snova.storefronts[0].url|escape} {/if}
{/if} {foreach $snova.storefronts as $storefront}
[`Ключ API «Снова»`]
{if $storefront.company} {sprintf('[`компания «%s»`]', $storefront.company|escape)} {/if}
[`Ключ открывает компанию в «Снове» — её баллы и её гостей. Без ключа витрина в программе не участвует.`] [`Получить ключ в кабинете «Снова»`]
[`Точка продаж`]

[`Точка, к которой «Снова» отнесёт чеки этой витрины. По ней срабатывают правила начисления и списания, привязанные к точке (например, «счастливые часы» — только офлайн), и она идёт отдельной строкой в отчётах. Список приходит после проверки ключа.`]
[`Когда начислять баллы`]

[`Чек проводится один раз. Списание из чекаута уходит тем же чеком.`]
[`Доставка`]

[`Баллы начисляются и списываются с учётом доставки.`]
[`Оплата баллами`]

[`Потолок задаёт программа. Выключите, если баллы здесь только копятся.`]
[`Приветственные баллы`]

[`Покупатель отмечает «завести карту» и тут же видит скидку на приветственные баллы. Выключите, если они должны копиться до следующей покупки.`]
[`Карта лояльности`]

[`Отметившему галочку придёт ссылка на карту — на странице заказа и в письме.`]
[`Версия согласия`]

[`Уходит в «Снову» с заявкой на карту. Меняйте вместе с текстом согласия.`]
[`Оформление блока`]
[`Разметка и стили блока в чекауте`]

[`Здесь код, который работает сейчас: пока он из дистрибутива, он обновляется вместе с плагином и не правится. «Взять за основу» — править на этой витрине, «Вернуть к дистрибутиву» — откатить.`]

[`Разметка`] Smarty + HTML
[`Стили`] CSS
[`Свои стили заменяют стандартные целиком: пока поле пусто, работает файл плагина.`]
[`Что можно вставить в разметку`]
  • {literal}{$snova.card.balance}{/literal} — [`баллов на карте`]
  • {literal}{$snova.currency}{/literal} — [`как называются баллы`]
  • {literal}{$snova.card.tier.name}{/literal} — [`уровень гостя`]
  • {literal}{$snova.card.barcode}{/literal} — [`номер карты`]
  • {literal}{$snova.max_redeem}{/literal} — [`сколько можно списать`]
  • {literal}{$snova.point_value}{/literal} — [`рублей за балл`]
  • {literal}{$snova.requested}{/literal} — [`сколько выбрал покупатель`]
  • {literal}{$snova.join_url}{/literal} — [`страница программы (для QR и ссылок)`]
  • {literal}{$snova.is_auth}{/literal} — [`покупатель вошёл в магазин`]
  • {literal}{$snova.api_error}{/literal} — [`«Снова» не ответила`]
  • {literal}{$snova.login_url}{/literal} — [`адрес входа в магазин`]
  • {literal}{$snova.issue_mode}{/literal} — [`предлагать ли карту:`] off, checkbox_off, checkbox_on
  • {literal}{$snova.issue_checked}{/literal} — [`галочка карты отмечена`]

[`Не трогайте имена полей`] snova[redeem], snova[card], data-reload="1" [`и классы`] snova-checkout, snova-checkout__input, snova-checkout__all, snova-checkout__none, data-snova-max: [`на них держатся пересчёт корзины и кнопки. Остальное — ваше.`]

[`Ошибка в коде не ломает заказ: покупателю показывается стандартный вид, а ошибка — здесь, при сохранении.`]

[`Пункт в кабинете покупателя`]
[`Ссылка «Мои баллы»`]
[`Разметка ссылки`] Smarty + HTML
[`Обёртку и выделение рисует тема — от вас только ссылка.`] [`Доступны`] {literal}{$snova.url}{/literal}, {literal}{$snova.balance}{/literal}, {literal}{$snova.currency}{/literal}, {literal}{$snova.tier}{/literal}, {literal}{$snova.card}{/literal}. [`Баланс запрашивается, только если упомянут; у гостя без карты он пуст — оберните в`] {literal}{if $snova.card}…{/if}{/literal}.
[`Страница «Мои баллы»`]
[`Разметка и стили страницы`]

[`Страница, куда ведёт пункт кабинета: баланс, кнопка карты и история. Тот же порядок, что у блока в чекауте — код виден, правится, откатывается.`]

[`Разметка`] Smarty + HTML
[`Стили`] CSS
[`Что можно вставить в разметку`]
  • {literal}{$snova.card.balance}{/literal} — [`баллов на карте`]
  • {literal}{$snova.currency}{/literal} — [`как называются баллы`]
  • {literal}{$snova.card.tier.name}{/literal} — [`уровень гостя`]
  • {literal}{$snova.card.barcode}{/literal} — [`номер карты`]
  • {literal}{$snova.phone}{/literal} — [`телефон из профиля покупателя`]
  • {literal}{$snova.history}{/literal} — [`движения баллов:`] date, delta, balanceAfter, reason, reasonLabel, comment, amount
  • {literal}{$snova.card_url}{/literal} — [`адрес формы «завести карту»`]
  • {literal}{$snova.orders_url}{/literal} — [`адрес «Мои заказы»`]
  • {literal}{$snova.error}{/literal}, {literal}{$snova.flash}{/literal} — [`ошибка и сообщение после действия`]

[`Форма карты обязана нести`] {literal}{$wa->csrf()}{/literal} [`и слать POST на`] {literal}{$snova.card_url}{/literal}: [`без этого кнопка «завести карту» не сработает.`]

{/foreach}
{* Оценка плагина в магазине Webasyst; показывается только при активной лицензии *} {if method_exists($wa->installer, 'reviewWidget')}
{$wa->installer->reviewWidget('plugin/shop/snova', ['is_inline' => true])}
{/if}