Оформление
Сумма корзины через JavaScript
registerCartUpdate({ handler }): Promise<void> передаёт сумму поповеру «Осталось до цели». В настройках компонента выберите JavaScript. После установочного кода Sales Ninja зарегистрируйте обработчик; команда работает и до завершения загрузки скрипта.
js
ninja('registerCartUpdate', {
handler: ({ update }) => {
update(store.cart.total);
store.on('cartChanged', (cart) => update(cart.total));
}
});store.cart.total и store.on — пример: замените их чтением суммы и подпиской вашего магазина. Имя ninja должно соответствовать установочному коду проекта; кабинет показывает готовый пример с нужным именем. Обработчик вызывается один раз при регистрации; он связывает изменения магазина с update.
update(6000)— полная сумма в валюте цели, не разница и не строка с символом валюты.update(0)— пустая корзина, поповер скрыт.update(null)— сумма неизвестна, поповер скрыт до корректного значения.- Отрицательное, бесконечное или нечисловое значение не отображается как сумма.
Promise завершается после вызова обработчика и отклоняется при некорректной регистрации или ошибке обработчика. Значение суммы сохраняется в памяти страницы; после перезагрузки код магазина должен снова передать начальную сумму. События dataLayer для этого источника не требуются. Команда не создаёт товарные записи, не пересчитывает скидки и не конвертирует валюту. Публичной функции отмены регистрации нет; подпиской на состояние магазина управляет его код.
Подробнее: настройка компонента.