← Модули · Тильда · JS
Observer корзины Тильды (заготовка)
БесплатноЭто учебный каркас. Полный расчёт зон/DaData — уже как платный модуль Deliveri.
Файлы
cart-observer.js — debounce + guard от double-bind
Инструкция
- Вставьте скрипт в HTML перед </body> на страницах с корзиной.
- В onCartChange() добавьте свою логику (цена, доставка, метка).
- Проверьте, что класс корзины совпадает с вашим блоком T706.
- Для продакшена нужен API зон и обработка адреса — это уже кастом.
Код
(function(){
var SEL='.t706__cartwin';
var bound=false;
var t=null;
function onCartChange(){
// TODO: ваш расчёт / fetch / патч DOM
console.log('[cart] changed', document.querySelector(SEL));
}
function schedule(){
clearTimeout(t);
t=setTimeout(onCartChange, 150);
}
function bind(){
var root=document.querySelector(SEL);
if(!root || root.dataset.obsBound) return;
root.dataset.obsBound='1';
new MutationObserver(schedule).observe(root,{childList:true,subtree:true,characterData:true});
bound=true;
schedule();
}
document.addEventListener('DOMContentLoaded', bind);
setInterval(function(){ if(!bound) bind(); }, 1200);
})();