для фильтра
хани
₽
Фермент
Сладость
Кислотность
Плотность
керинчи
индонезия
жёлтое яблоко, табак, чернослив, кешью
для эспрессо
мытая
₽
Фермент
Сладость
Кислотность
Плотность
декаф
гватемала
клюква, яблоко, тростниковый сахар, карамель
для фильтра
натуральная
₽
Фермент
Сладость
Кислотность
Плотность
Конга
Эфиопия
малина, ежевика, абрикос, крем-брюле, мандарин, тростниковый сахар
для эспрессо
натуральная
₽
Фермент
Сладость
Кислотность
Плотность
Мантикейра
Бразилия
белый изюм, фундук, тростниковый сахар, грейпфрут
Новинки и лоты недели
для эспрессо
натуральная / мытая
₽
Фермент
Сладость
Кислотность
Плотность
«Восторг»
Бленд
красное вино, абрикосовый джем, помело, чернослив, корица
для эспрессо
натуральная
₽
Фермент
Сладость
Кислотность
Плотность
«доверие»
Бленд
цитрусы, шоколад, фрукты, орехи
для эспрессо
натуральная
₽
Фермент
Сладость
Кислотность
Плотность
«старт»
бленд
темный шоколад, карамель, ликер, цитрусы
100 приветственных бонусов - на любой кофе из каталога
Дарим бонусы
для эспрессо
натуральная
₽
Фермент
Сладость
Кислотность
Плотность
Мантикейра
Бразилия
белый изюм, фундук, тростниковый сахар, грейпфрут
для эспрессо
натуральная
₽
Фермент
Сладость
Кислотность
Плотность
санта изабель
Бразилия
желтые фрукты, арахисовая паста, миндаль, шоколад
для эспрессо
мытая
₽
Фермент
Сладость
Кислотность
Плотность
Декаф
Гватемала
клюква, яблоко, тростниковый сахар, карамель
для эспрессо
мытая
₽
Фермент
Сладость
Кислотность
Плотность
юньнань
китай
черешня, карамель, молочный шоколад, темные ягоды
/* ============================================================ ПРАВКИ МОБИЛЬНОГО СКРИПТА КАТАЛОГА [vc9] Те же правки 1–3 стоит сделать и в десктопной версии. ============================================================ */ /* ---------- ПРАВКА 1. Логи ---------- Удалить самую первую строку перед (function() {: console.log('[vc9] Скрипт загружен!'); Сразу после 'use strict'; вставить: */ var DEBUG = false; // true — вернуть логи для отладки function log() { if (DEBUG) try { console.log.apply(console, arguments); } catch (e) {} } /* Затем во всём скрипте заменить (Ctrl+H): console.log( → log( console.warn( → log( console.error оставить. */ /* ---------- ПРАВКА 2. Загрузка товаров ---------- Раньше: кеш писался в sessionStorage по 48 ключей, но НИГДЕ не читался — товары каждый раз заново качались с store.tildaapi.com, причём с priority:'low' и только через 200 мс после DOMContentLoaded. Теперь: запрос уходит сразу при загрузке скрипта, а при переходах по сайту в течение CACHE_TTL список берётся из кеша без сети. Удалить целиком разделы «3. КЕШИРОВАНИЕ» и «4. ЗАГРУЗКА ТОВАРОВ» (от var productCache = {}; до конца функции loadProducts) и вставить вместо них: */ var LIST_CACHE_KEY = 'vc9_products_' + SECTION_UID; var allProducts = []; var isLoaded = false; var isLoading = false; var loadCallbacks = []; function readListCache() { try { var o = JSON.parse(sessionStorage.getItem(LIST_CACHE_KEY) || 'null'); if (o && Array.isArray(o.p) && Date.now() - o.t < CACHE_TTL) return o.p; } catch (e) {} return null; } function finishLoad(list) { allProducts = list || []; isLoaded = true; var cbs = loadCallbacks; loadCallbacks = []; cbs.forEach(function (fn) { try { fn(allProducts); } catch (e) {} }); } function loadProducts(callback) { if (callback) { if (isLoaded) { callback(allProducts); return; } loadCallbacks.push(callback); } if (isLoaded || isLoading) return; isLoading = true; var cached = readListCache(); if (cached) { log('[vc9] Товары из кеша:', cached.length); finishLoad(cached); return; } var url = 'https://store.tildaapi.com/api/getproductslist/' + '?storetype=tilda' + '&publickey=' + encodeURIComponent(PUBLIC_KEY) + '&storepartuid=' + encodeURIComponent(SECTION_UID) + '&size=48'; fetch(url) .then(function (r) { if (!r.ok) throw new Error('HTTP ' + r.status); return r.json(); }) .then(function (data) { var list = data.products || []; try { sessionStorage.setItem(LIST_CACHE_KEY, JSON.stringify({ t: Date.now(), p: list })); } catch (e) {} log('[vc9] Загружено товаров:', list.length); finishLoad(list); }) .catch(function (err) { console.error('[vc9] Ошибка загрузки:', err); finishLoad([]); }); } loadProducts(); // стартуем запрос сразу, не дожидаясь DOM /* ---------- ПРАВКА 3. Запуск без задержки ---------- В самом конце (раздел «14. ЗАПУСК») в двух местах заменить setTimeout(initAllCards, 200); на initAllCards(); Если после этого какие-то карточки не заполняются — вернуть задержку, но 50 мс. */ /* ---------- ПРАВКА 4. В сайта ---------- Настройки сайта → Ещё → HTML-код для вставки внутрь HEAD — добавить строку (браузер заранее откроет соединение с API каталога): */