Розмова з підтримкою — замість читати: навіщо це потрібно, що налаштувати і що ви отримаєте.
Вивантаження товарів на свій сайт можна зробити двома способами. Перший — звичний: програма формує файл, ви або майданчик його забираєте. Другий — тунель: файла немає взагалі, дані лягають прямо в базу даних вашого сайту, і одразу після прогону нова ціна вже на вітрині. Другий спосіб і розібраний нижче.
Тунель працює з готовими CMS — OpenCart, WooCommerce, 1C-Bitrix, PrestaShop, CS-Cart, Magento, WebAsyst Shop-Script, а для сайту на іншому рушії є режим власних запитів «MySQL (SQL custom query)».
- Вікно
- «Вивантаження даних», картка шаблону типу «Elbuz Tunnel»
- Право доступу
- доступ до вікна «Вивантаження даних» і окремо до картки шаблону
- Підготувати
- модуль тунелю в корені сайту, розширення PHP mysqli, zip і curl на хостингу, доступ до бази сайту
Маршрут задачі
- Покласти модуль тунелю на хостинг сайтуФайловий менеджер хостингу, поза Elbuz
- Створити шаблон і підключитися до сайтуВивантаження даних, далі картка шаблону, вкладка «Підключення»
- Відзначити, що вивантажуватиКартка шаблону, вкладка «Вивантаження»
- Задати умови відбору товарівКартка шаблону, блок «Обмеження вивантаження (фільтр)»
- Перевірити налаштування архівної копіїКартка шаблону, секція «Налаштування архівації БД сайту»
- Запустити перший прогін і подивитися журналСписок шаблонів, далі Центр операцій
Де це у програмі
- Меню
- Довідники → Операції → Вивантаження даних
- Робочий стіл
- ярлик «Вивантаження»
- Створити канал
- кнопка «Додати» → група «Elbuz» → пункт «Elbuz Tunnel»
- Картка шаблону
- виділити рядок списку → кнопка-олівець у тулбарі; або олівець, що зʼявляється на рядку при наведенні
1
Пункт «Вивантаження даних»2
Пункт «Завантаження даних»- Пункт «Вивантаження даних» відкриває список шаблонів вивантаження, зокрема тунелі Elbuz.
- Сусідній пункт «Завантаження даних» — зворотний напрямок, його легко переплутати з вивантаженням.
1
Заголовок групи «Elbuz»2
Пункт «Elbuz Tunnel»- Заголовок групи «Elbuz» об'єднує типи приймачів власної розробки Elbuz.
- Пункт «Elbuz Tunnel» — тип шаблону для прямого підключення до бази даних сайту.
Окремого пункту меню в самого тунелю немає: це один із типів шаблону в загальному вікні вивантаження. Усе, що стосується шаблонів взагалі — список, смуга чисел над сіткою, стоп-правила, зведення перед запуском, журнал прогону, — розібрано в статті про вивантаження товарів на маркетплейс і сайт. Тут тільки те, що є саме в тунелі.
Чим тунель відрізняється від файлового фіда
У фіда є файл: програма його формує, кладе в теку вашого акаунта й дає посилання, яке ви віддаєте майданчику. У тунелю файла немає. Програма складає дані у службові файли CSV, і забирає їх — модуль на хостингу сайту. Він заливає їх у тимчасові таблиці бази сайту й виконує набір запитів злиття. Після цього службові файли й тимчасові таблиці видаляються.
Практичні наслідки:
- Колонка «Файл» у списку шаблонів порожня, і кнопки «Копіювати посилання» біля тунельного шаблону немає. Це не збій: тунельний шаблон файла не створює — дані йдуть на сайт напряму.
- Дані зʼявляються на сайті одразу — не тоді, коли майданчик схоче забрати фід, а в момент прогону.
- Передаються не тільки товари. Фід — це товари й категорії. Тунель уміє відправити ще виробників, атрибути, опції, фото файлами, мови, магазини, склади, статті, відгуки, FAQ і сімейства товарів.
- Ціна помилки вища. Помилковий фід можна не віддавати майданчику. Тунель уже записав дані в базу сайту — тому в нього є архівна копія й відновлення.
Пробного прогону одного товару в тунелю немає. Кнопка-колба «Перевірити», якою в фідах перевіряють один товар, тут відповість: «Для цього формату шаблону перевірка поки недоступна». Перевіряти доводиться повним прогоном і журналом — тим більше сенсу залишити ввімкненою архівну копію.
Що потрібно з боку сайту
Тунель — це файли на хостингу вашого сайту, тека etrade_http_tunnel2 в корені.
Перевіряти умови хостингу наздогад не треба: коли підключення налаштоване, кнопка «Перевірити підключення» покаже потрібні розширення PHP списком разом із memory_limit, post_max_size, upload_max_filesize, max_execution_time, мовною локаллю й версією самого модуля.
- Модуль уже лежить на сайтіСайт робили з Elbuz або тунель ставила підтримка
- Модуля на сайті ще немаєТеку треба покласти в корінь сайту руками
- Тунель уже налаштований на завантаження данихВи вже забираєте із сайту замовлення — реквізити підставляться самі
Модуль уже лежить на сайті
Тоді від вас потрібна тільки адреса сайту. Решту програма зʼясує сама на кроці підключення: збере адресу модуля, підбере логін, встановить пароль і прочитає реквізити бази з конфігураційного файла вашої CMS.
Модуля на сайті ще немає
Тоді його треба покласти на хостинг — архів віддає кнопка «Завантажити модуль» на вкладці «Підключення». Порядок дій розписано нижче, у розділі «Встановлення модуля на ваш хостинг». Після встановлення адреса модуля виглядає так: https://ваш-сайт/etrade_http_tunnel2/etrade_http_tunnel.php — саме її програма підставить у поле «Посилання на модуль».
Тунель уже налаштований на завантаження даних
Найкоротший шлях. Якщо в акаунті вже є шаблон завантаження даних через тунель — той, яким ви забираєте із сайту замовлення, — новий шаблон вивантаження візьме в нього готовими: CMS і її версію, адресу модуля, логін і пароль, усі реквізити бази сайту, кодування й тип таблиць. Разом із ними перенесеться й список обʼєктів із «Додаткових параметрів». Вкладку «Підключення» в цьому разі заповнювати не доведеться взагалі.
Якщо такого шаблону немає, поля заповнюються значеннями за замовчуванням: CMS — OpenCart, версія 3, порт 3306, кодування utf8mb4, порівняння символів utf8mb4_unicode_ci, тип таблиць InnoDB.
Встановлення модуля на ваш хостинг
Тунель — це папка etrade_http_tunnel2 у корені вашого сайту. Поки її там немає, підключатися нема до чого, тож перший крок завжди однаковий: покласти модуль на сервер. Це разова робота на кілька хвилин, і далі до неї не повертаються — оновлюється модуль сам.
- Завантажте модуль. У шаблоні тунелю, на вкладці «Підключення», є кнопка «Завантажити модуль» — вона віддає актуальний архів. Те саме прямим посиланням: etrade_http_tunnel2.zip.
- Розпакуйте архів на своєму комп'ютері.
- Перепишіть вміст на хостинг — у кореневу папку сайту, туди ж, де лежить головний
index.php, разом із самою папкоюetrade_http_tunnel2. Зручно зробити це FTP-клієнтом, наприклад FileZilla. Після цього адреса модуля виглядає так:https://ваш-сайт/etrade_http_tunnel2/etrade_http_tunnel.php. - Підключіться в Elbuz: на вкладці «Підключення» оберіть свою CMS (для OpenCart — ще й версію), вкажіть адресу сайту й натисніть «Підключити».
Далі Elbuz усе робить сам: прописує модулю пароль доступу (якщо це перше встановлення) і читає конфігураційний файл вашої CMS, діставши звідти параметри підключення до бази — сервер, назву бази, користувача, пароль і префікс таблиць. Вручну їх вводити не треба. Коли все вийшло, ви побачите повідомлення «Модуль успішно підключений!».
Усередині папки модуля, крім самого тунелю, лежать порожні теки temp і backup: у першій модуль тримає робочі файли, у другу складає архівні копії бази сайту. На хостингу мають бути ввімкнені розширення PHP mysqli, zip і curl.
Напис на кнопці залежить від того, чи вже налаштоване з'єднання. Поки параметри порожні — там «Підключити», і саме вона виконує автоматичне налаштування. Коли доступи вже заповнені, на її місці з'являється «Перевірити підключення»: вона нічого не переналаштовує, а лише перевіряє, чи відповідає модуль, і заодно показує версію модуля та налаштування PHP на хостингу. Ще є кнопка «Отримати налаштування» в блоці ручних параметрів — нею можна перечитати конфігурацію сайту повторно, наприклад після переїзду бази.
Тоді ті самі параметри вводять руками:
- Посилання на модуль —
https://ваш-сайт/etrade_http_tunnel2/etrade_http_tunnel.php; - Логін —
admin; - Пароль — той, що заданий у файлі
etrade_http_tunnel_login.phpвсередині модуля; - Доступ до бази даних сайту — сервер, порт, назва бази, користувач, пароль і префікс таблиць. Ці значення є в конфігураційному файлі вашої CMS (зазвичай
config.phpабо подібний).
Типові причини, чому автоматичне підключення не спрацювало: не вказано адресу сайту або не обрано CMS (програма попередить окремим вікном); модуль не переписаний у кореневу папку сайту; хостинг закриває доступ до файлу модуля.
Встановлення й налаштування тунелю може виконати підтримка Elbuz — для цього знадобиться доступ до вашого хостингу. Це окрема послуга: напишіть у підтримку, і вам підкажуть умови.
Оновлення модуля
Зазвичай оновлювати руками нічого не треба. Натисніть «Перевірити підключення»: програма покаже версію модуля на вашому хостингу й порівняє її з останньою. Якщо вийшла новіша, поруч зʼявиться рядок «Доступна нова версія модуля» і кнопка «Оновити» — вона оновлює файли на сайті сама, нічого копіювати не доведеться.
Ручний шлях потрібен, коли автоматичне оновлення не проходить — наприклад, хостинг не дозволяє модулю писати у власну папку. Тоді беруть архів оновлення: etrade_http_tunnel2_update.zip. Його розпаковують і перезаписують файли в папці etrade_http_tunnel2 на хостингу поверх наявних.
В архіві оновлення лежить лише ядро модуля — робочі файли, які мають замінитися новими. У ньому немає того, що зʼявилося на хостингу вже під час роботи:
etrade_http_tunnel_login.php— файл із логіном і паролем до модуля. Саме тому оновлення не скидає доступ: пароль, який Elbuz прописав при першому підключенні, залишається на місці, і переналаштовувати зʼєднання після оновлення не треба;- папка
backup— архівні копії бази вашого сайту; - папка
temp— робочі файли модуля.
Через це архів оновлення розпаковують поверх наявної папки, а не замість неї. Повний архів (etrade_http_tunnel2.zip) потрібен лише для першого встановлення — у ньому ці файли й порожні папки є.
Вкладка «Підключення»
У картці тунельного шаблону дві вкладки — «Підключення» і «Вивантаження». Поки шаблон жодного разу не відпрацював, першою відкривається «Підключення»; після успішного прогону, якщо реквізити на місці, — «Вивантаження». Форма зберігається сама: у підвалі видно «Усі зміни збережено» або «Збереження…».
Порядок такий.
- Виберіть CMS Вашого сайту і, якщо в неї є версії, версію. У списку: 1C-Bitrix, CS-Cart, Magento (версії 1 і 2), OpenCart (1.5, 2, 3), PrestaShop, WebAsyst Shop-Script, WooCommerce і окремий пункт «MySQL (SQL custom query)» — для сайту на будь-якому іншому рушії, коли запити пишуть руками.
- Впишіть «Посилання на Ваш сайт» — просто адресу головної, виду
https://yoursite.com. - Натисніть «Підключити».
Що відбувається за цим натисканням. Спершу програма домовляється з модулем про пароль: якщо в модулі ще стоїть заводський, вона генерує випадковий, записує його всередину модуля й до себе в налаштування. Тобто заводський пароль живе рівно до першого підключення. Далі програма читає конфігураційний файл самої CMS і підставляє з нього адресу сервера бази, порт, користувача, пароль, назву бази, префікс таблиць і кодування. Успіх — напис «Модуль успішно підключений!» і кнопка «Далі». Якщо модуль повернув помилку, програма показує вікно з її текстом, а кнопка «Підключити» знову стає доступною: виправте причину й натисніть її ще раз.
Заповнене програма кладе у дві картки нижче на тій самій вкладці. Перша, «Налаштування підключення до тунелю», — три поля: «Посилання на модуль», «Ім'я користувача» (програма ставить admin) і «Пароль». Друга, «Налаштування підключення до бази даних сайту», — реквізити бази: «Адреса MySQL сервера», «Порт», «Ім'я користувача БД», «Пароль», «Назва БД», «Префікс таблиць», «Кодування з'єднання», «Кодування для порівняння символів» і «Тип таблиць». Обидві картки заповнюються самі, але поля відкриті на правку: якщо конфігураційний файл сайту прочитати не вдалося, впишіть реквізити руками. Внизу другої картки є кнопка «Отримати налаштування» — вона перечитує конфігурацію сайту заново.
Якщо сайт живе не на MySQL, у секції «Налаштування підключення до бази даних сайту» є перемикач «Вибір СУБД» з трьома значеннями: MySQL, MariaDB, PostgreSQL. За замовчуванням — MySQL.
Коли реквізити вже заповнені, кнопка «Підключити» змінюється на «Перевірити підключення». Її варто натиснути перед першим прогоном: у відповідь модуль розповість про хостинг і назве свою версію.
Якщо вийшла свіжіша версія модуля, у тій самій відповіді зʼявиться рядок «Доступна нова версія модуля E-Trade Tunnel:» і кнопка «Оновити». Вона оновлює модуль на хостингу сама, лізти на сайт по FTP не потрібно: відповідь — «Модуль успішно оновлено!» або «Помилка оновлення модуля!». Що робити в другому випадку — в розділі «Оновлення модуля».
1
Пілюля стану «Вимкнений»2
Вкладка «Підключення»3
Вкладка «Вивантаження» (активна)4
Кнопка-графік «Історія запусків»- Пілюля стану показує, що шаблон вимкнений — так і має бути для обох тунельних шаблонів демо-тенанта.
- Вкладка «Підключення» веде до реквізитів сайту (в демо-тенанті не знімається).
- Активна вкладка «Вивантаження» — картка відкривається саме на ній, бо у шаблону вже є історія прогонів.
- Кнопка-графік відкриває історію запусків шаблону.
Що саме вивантажувати
Вкладка «Вивантаження», секція «Вибір даних для вивантаження» — тринадцять прапорців, а для OpenCart 3 чотирнадцять: чотирнадцятий, «Сімейства товарів», показується тільки для цієї CMS. Три з них у новому шаблоні вже стоять: «Категорії», «Товари», «Виробники». Решта зняті: «Фото», «Атрибути», «Опції», «Мови», «Магазини», «Склади», «Статті», «Відгуки», «FAQ», «Сімейства товарів», «Замовлення».
1
Прапорець «Категорії»2
Прапорець «Мови»3
Прапорець «Магазини»4
«Вивантажувати лише нові дані»- Прапорець «Категорії» стоїть за замовчуванням.
- Прапорець «Мови» знятий — саме тому на сайт їде лише основна мова.
- Прапорець «Магазини» відповідає за розрізи цін, а не за відбір товарів.
- «Вивантажувати лише нові дані» обмежує вивантаження нещодавніми змінами.
Три прапорці керують не складом даних, а їхньою глибиною, і це найчастіше джерело непорозумінь:
- «Мови» зняті — на сайт їде тільки мова каталогу за замовчуванням. Поставите — поїдуть усі мови, позначені до вивантаження. Окремого поля «мова вивантаження», як у фідах, у тунелі немає.
- «Магазини» — про розрізи цін і залишків за магазинами, а не про відбір товарів. Зняті — беруться дані основного магазину. Обмежити склад вивантаження одним магазином — це інша настройка, поле «Магазин» унизу вкладки.
- «Склади» влаштований інакше: сам перелік складів їде на сайт завжди, а прапорець вмикає передачу залишків і цін у розрізі складів. Знятий — на сайт іде загальний залишок товару, без розкладки по складах.
Знімати «Товари» й лишати при цьому «Фото», «Атрибути» чи «Опції» не можна: без товарів вони на сайт не поїдуть. Програма попереджає про це прямо у формі — щойно ви знімете «Товари» при відзначених фото, атрибутах чи опціях, під рядком зʼявиться пояснення: «Фото, атрибути та опції вивантажуються лише разом з товарами». А для CS-Cart і 1C-Bitrix атрибути вивантажуються завжди, незалежно від прапорця.
Останній прапорець секції — «Вивантажувати лише нові дані». У новому шаблоні він увімкнений: на сайт їде тільки те, що змінилося з минулого прогону. Для щоденного оновлення це найдешевший режим.
Прапорець «Вивантажувати лише нові дані» не можна тримати одночасно з правилом «якщо товару немає у розвантаженні» (вікно «Налаштування оновлення за наявністю товару»). Перший відправляє тільки змінені товари, друге вимикає на сайті все, чого в цій відправці не було, — разом вони погасять увесь каталог сайту, крім кількох щойно оновлених позицій.
Яка ціна поїде на сайт
У згорнутій секції «Детальне налаштування» є прапорець «Оновлювати на сайті ціну на основі РРЦ», і в новому шаблоні він увімкнений. Працює просто: якщо в товара заповнена (більша за нуль), на сайт їде вона; якщо ні — звичайна ціна товару. Значення округлюється до двох знаків.
Ніяких націнок, коефіцієнтів і формул на цьому кроці немає: джерело ціни одне — , і число йде на сайт як є. Якщо ціну треба порахувати інакше, робіть це раніше, коли каталог оновлюється з прайсів постачальників.
Другий прапорець секції — «Оновлювати значення опцій на основі товарів-опцій». Він переносить ціну й залишок із товарів-варіантів у значення опцій на сайті. Реалізовано це тільки для OpenCart 1.5 і OpenCart 2; для OpenCart 3 та інших рушіїв прапорець нічого не змінить.
Які товари поїдуть, а які ні
Умови відбору живуть у тому самому блоці, що й у фідів, — «Обмеження вивантаження (фільтр)» внизу вкладки «Вивантаження». Панель «Встановити фільтр за:» дає кнопку «категоріям» (з лічильником обраного і двома режимами вибору — деревом або списком) і конструктор «Додатковий фільтр» по полях сітки товарів.
До ваших умов програма додає свої, і сукупно на сайт поїде товар, у якого:
- стоїть прапор «Вивантажувати у файл (на сайт)»;
- є хоча б одна категорія з прапором «Вивантажувати у файл (на сайт)»;
- категорія входить у список обраних, якщо ви щось обрали кнопкою «категоріям»;
- виконуються умови «Додаткового фільтра», якщо ви їх задали;
- товар віднесено до магазину, обраного в полі «Магазин», якщо магазин обрано — і до того самого магазину віднесена його категорія;
- товар змінювався з минулого прогону — якщо стоїть «Вивантажувати лише нові дані».
Відмінності від файлових вивантажень, через які тунель поводиться інакше.
Умови «Активність = так» у тунелі немає. У нового шаблону будь-якого іншого типу в «Додатковому фільтрі» одразу стоїть ця умова, і вимкнений товар у файл не потрапляє. У тунельного шаблону вона знімається одразу після створення — навмисно. Вимкнений товар поїде на сайт разом зі своїм станом «неактивний» і згасне вже там. Різниця по суті: у файл товар можна просто не покласти, а на сайті картка вже є — її треба вимкнути, інакше вона так і висітиме у продажу.
Так само поводиться й вимкнена категорія. У фіді її товари просто не потраплять у файл; у тунелі — див. наступний розділ, там це окрема історія.
Полів «ID мови» та «ID складу», які є у формі фіда, у тунелі немає: замість них працюють прапорці «Мови» і «Склади». А поле «Магазин» із галочкою «Лише в наявності в цьому магазині» — на місці, але працює ширше, ніж у фідах. У фіді обраний магазин відсіює тільки товари. У тунелі, крім товарів, він відсіює ще категорії й виробників: категорія, не віднесена до цього магазину, на сайт не поїде — і товару не буде де показатися; виробник, не віднесений до магазину, на сайт не передається, хоча сам товар при цьому лишається. Якщо обраний у шаблоні магазин потім видалили, тунель на сайт нічого не відправляє: у журналі зʼявляється червоний рядок «Магазин (ID N), обраний у налаштуваннях шаблону, видалено — вивантажувати нічого. Оберіть магазин у шаблоні або зніміть вибір, щоб вивантажувати весь каталог.», і сайт лишається без змін. Докладніше про склади магазинів — у статті про магазини.
У демо-акаунті діє жорсткий ліміт: на сайт поїдуть перші 100 товарів і перші 500 фото, а в журналі зʼявиться окремий рядок про демо-версію.
Які категорії поїдуть на сайт
Товари відбираються строго за категоріями, які ви відзначили кнопкою «категоріям». Категорії відбираються ширше: разом із кожною відзначеною на сайт їде весь ланцюжок її батьківських категорій, аж до кореневої. Відзначили «Кросівки» всередині «Взуття», а «Взуття» всередині «Одягу» — на сайт поїдуть усі три, і структура там буде така сама, як у вашому каталозі.
Так зроблено тому, що сайт вибудовує дерево за посиланням на батьківську категорію. Категорія без батька на сайті стала б кореневою, і кожен наступний прогін повертав би її в корінь, навіть якщо структуру поправили вручну в адмінці сайту. Відзначати батьківську категорію у фільтрі не потрібно: дерево вибору й не збереже її, якщо в ній відзначені не всі дочірні, — а на сайт вона однаково поїде.
Батьківська категорія не поїде у двох випадках: у її картці вимкнено перемикач «Вивантажувати у файл (на сайт)» або в шаблоні обрано «Магазин», до якого вона не віднесена. Тоді на сайт не передається саме вона, а її дочірні категорії приїжджають без батька й стають на сайті кореневими. Товарів це не зачіпає: товар із відзначеної дочірньої категорії поїде, як і раніше. Не поїде лише товар, у якого немає жодної відзначеної категорії з увімкненим перемикачем.
Коренева категорія як ярлик сайту
Типовий випадок — один каталог Elbuz на кілька сайтів. У корені стоять категорії-ярлики, які на жодному сайті не потрібні, а під ними — розділи конкретного магазину:
- «Сайт одягу» → «Жіночий одяг», «Чоловічий одяг», «Взуття»;
- «Сайт електроніки» → «Смартфони», «Ноутбуки», «Навушники».
Щоб на сайті одягу верхнім рівнем меню були «Жіночий одяг», «Чоловічий одяг» і «Взуття», а ярлика «Сайт одягу» не було:
- у картці категорії «Сайт одягу» вимкніть «Вивантажувати у файл (на сайт)» і збережіть; те саме — для «Сайт електроніки»;
- у тунельному шаблоні сайту одягу кнопкою «категоріям» відзначте категорії під ярликом «Сайт одягу»;
- запустіть вивантаження.
1
Перемикач «Вивантажувати у файл (на сайт)»2
Категорія «Гаджети» в дереві- Перемикач увімкнений — категорія бере участь у вивантаженні на сайт.
- Клік по кореневій категорії зліва відкриває її картку праворуч.
Перемикач — властивість категорії, а не шаблону, тому ярлик не поїде ні в один шаблон вивантаження: ні на інший сайт, ні у фід. Для категорії, яка існує тільки як позначка сайту, це якраз те, що треба. Якщо ж якусь проміжну категорію на одному сайті треба показувати, а на іншому ні, — перемикач тут не допоможе: він діє однаково для всіх шаблонів.
Коренева категорія вже з’явилася на сайті
Вимкнути перемикач у цьому разі замало. Батьківську категорію тунель шукає серед тих, що вже є на сайті, тому, доки ярлик там лежить, дочірні категорії й далі чіпляються до нього. Вимкнути його в адмінці сайту теж не вихід: сховається і він, і все, що всередині. Порядок такий:
- вимкніть «Вивантажувати у файл (на сайт)» у картці категорії в Elbuz;
- видаліть цю категорію в адмінці сайту. Якщо разом із нею сайт видалить і вкладені категорії (так робить OpenCart), нічого страшного: наступний прогін створить їх знову, уже кореневими, з тими самими назвами, адресами й прив’язкою товарів. Пропадуть лише правки, зроблені в цих категоріях прямо в адмінці сайту;
- запустіть повний прогін. Якщо в шаблоні стоїть «Вивантажувати лише нові дані», зніміть його на цей запуск: інакше категорії й товари, які не змінювалися, не поїдуть і на місце не стануть.
Що тунель робить із вашим каталогом перед відправкою
Тунель не просто читає базовий каталог — на початку кожного прогону він його править. Чотири дії:
- Проставляє службові ідентифікатори (uuid) товарам, категоріям, виробникам і атрибутам, у яких їх ще немає. Саме за ними програма потім упізнає на сайті ту саму позицію.
- Наводить лад із головним фото: у кожного товару лишається рівно одне головне зображення — те, що стоїть у списку першим. Зайві позначки головного знімаються.
- Вимикає товари вимкнених категорій. Якщо головна категорія товару має стан «неактивна», товару проставляється неактивний стан у вашому базовому каталозі — і далі він у такому вигляді їде на сайт. Це не тимчасова позначка для вивантаження, а зміна вашого каталогу. Виняток один: товари з ознакою «тільки читання» це правило не чіпає.
- Добудовує порожні ЧПУ — тільки ті, що не заповнені; наявні адреси не чіпає.
Вимкнули категорію «на час», щоб вона не з’явилася на сайті, — і побачили, що всі товари в ній стали неактивними в самому Elbuz. Так і задумано: вимкнена категорія означає «цих товарів у продажу немає». Якщо треба прибрати категорію тільки з сайту, а товари лишити активними, знімайте в неї не «Активність», а «Вивантажувати у файл (на сайт)». Якщо категорія вже є на сайті, одного перемикача замало — див. що робити з категорією, яка вже на сайті. Той самий механізм працює і під час оновлення базового каталогу з прайсів, тому побачити наслідки можна й без вивантаження.
Видалення на сайті
Згорнута секція «Вибір даних для видалення на сайті». Тут дванадцять прапорців за сутностями — «Категорії», «Товари», «Виробники», «Фото», «Атрибути», «Опції», «Мови», «Магазини», «Склади», «Замовлення», «Статті», «Відгуки» — і перемикач «Видаляти дані відразу на сайті». Для OpenCart 3 під ним є ще другий — «Видаляти, якщо немає у вивантаженні».
1
«Видаляти дані відразу на сайті»2
«Видаляти, якщо немає у вивантаженні»3
Кнопка «Очистити прапор видалення»- «Видаляти дані відразу на сайті» вмикає негайне видалення без підтвердження.
- «Видаляти, якщо немає у вивантаженні» видаляє на сайті те, чого немає у поточному фіді.
- Кнопка «Очистити прапор видалення» скидає позначки на видалення без запуску вивантаження.
Поки не стоїть жоден із дванадцяти прапорців, програма на сайті не видаляє нічого. Це перше, що програма перевіряє перед будь-яким видаленням; забути «вимкнути видалення» не можна, бо за замовчуванням воно вимкнене.
- «Видаляти дані відразу на сайті» — видалення без вивантаження. Підказка каже прямо: «Наприклад, при видаленні товару в базовому каталозі, він буде моментально вилучений на сайті». Тобто ви прибрали рядок у сітці каталогу — і картка на сайті зникає одразу, без запуску вивантаження. Працює тільки для ввімкнених шаблонів.
- «Видаляти, якщо немає у вивантаженні» — «Якщо у даних, що вивантажуються, немає елемента, який є на сайті, тоді його буде видалено з сайту».
«Видаляти, якщо немає у вивантаженні» не поєднується з «Вивантажувати лише нові дані» з тієї ж причини, що й правило про відсутні товари: у відправці буде лише жменя змінених позицій, а решта каталогу сайту вважатиметься зайвою. Вмикайте щось одне.
Третя кнопка секції — «Очистити прапор видалення», підказка «Очистити прапорець видалення для повторного видалення позицій на сайті». Вона потрібна, коли позиції вже видалили в Elbuz, вивантаження чомусь не дійшло до сайту, а повторити видалення нічим: журнал видалених позицій уже позначений як опрацьований. Після натискання зʼявиться повідомлення «Журнал віддалених позицій готовий до вивантаження!», і наступний прогін видалить їх ще раз.
Архівна копія бази сайту
Згорнута секція «Налаштування архівації БД сайту». У новому шаблоні архівація увімкнена, разом зі стисненням.
1
Створювати архівну копію БД сайту2
Кількість днів для зберігання копій3
Префікс файлу- Галочка вмикає створення архівної копії бази даних сайту перед кожним вивантаженням; у цього шаблону вона вимкнена.
- Скільки днів зберігати архівні копії на сервері — за замовчуванням 7.
- Текст, який додається на початок імені файлу архівної копії.
Копія знімається перед злиттям — тоді, коли всі дані вже передані модулю й лежать у тимчасових таблицях бази сайту, але жоден рядок ще не потрапив у робочі таблиці CMS. У журналі це видно: рядок «Створено архівну копію БД сайту:» з імʼям файла стоїть після всіх рядків «Вивантаження …» і перед «Оновлення сайту». Якщо прогін обірветься раніше — на передачі даних або від кнопки «Зупинити», — копії не буде, але й робочі таблиці сайту при цьому не змінилися.
Файл лягає в теку etrade_http_tunnel2/backup на хостингу вашого сайту й називається за схемою «назва бази — дата й час»: наприклад mysite_db-18-08-2026-03-40.sql.gz. Поле «Префікс файлу» дописує ваш текст на початок імені — зручно, коли копії кількох сайтів лежать поруч. У старих шаблонах там може стояти 0 — поле можна очистити або вписати щось осмислене. Розширення .gz в імені дає прапорець «Використовувати компресію» — з ним копія пакується й займає на хостингу помітно менше місця.
Поле «Кількість днів для зберігання копій» за замовчуванням дорівнює 7. Старіші файли видаляються не за розкладом, а перед зняттям нової копії — тобто поки вивантаження не запускається, старі копії лежать далі.
Що входить у копію: тільки таблиці тих сутностей, які відзначені в «Вибір даних для вивантаження». Для OpenCart це так: відзначені категорії — у копію підуть таблиці категорій; товари — таблиці товарів, знижок, акцій, звʼязків із категоріями та магазинами; атрибути, опції, фото — свої. Виробники — одна таблиця. У інших рушіїв набір ширший, бо каталог у них лежить в інших таблицях: у WooCommerce до нього додаються posts і postmeta — тобто сторінки й записи блога, а в 1C-Bitrix — інфоблоки цілком.
Замовлень, покупців, налаштувань сайту, шаблонів дизайну й модулів у копії немає в жодного рушія. Це копія каталогу, а не сайту: в OpenCart туди не потраплять навіть статичні сторінки, а у WooCommerce вони потраплять лише тому, що лежать в одній таблиці з товарами. Повноцінний бекап сайту — це задача вашого хостингу, і тунель його не замінює.
Прапорець архівації працює не в усіх режимів. Копію знімають усі CMS зі списку — 1C-Bitrix, CS-Cart, Magento, OpenCart усіх трьох версій, PrestaShop, WebAsyst Shop-Script і WooCommerce. Виняток один: режим «MySQL (SQL custom query)». Там прапорець стоїть, а копія не знімається — у журналі просто не буде рядка «Створено архівну копію БД сайту:». Працюєте своїм SQL-запитом — робіть копію засобами хостингу перед першим прогоном.
Відновлення з копії
Кнопка «Відновлення БД сайту» в секції «Додатково» картки шаблону. Вікно показує заголовок «Список архівних копій» і перелік файлів із теки backup на вашому хостингу; біля кожного — кнопка «Відновити».
Кнопка «Відновити» спершу відкриває попередження: «Відновити базу сайту з копії «…»? Таблиці, що потрапили до копії, буде перезаписано цілком — поточні дані сайту зникнуть. Скасувати неможливо.» Відновлення почнеться тільки після того, як ви підтвердите. Після підтвердження модуль заливає обраний дамп у робочу базу сайту поверх того, що там зараз: таблиці, які є в копії, перезаписуються повністю, і все, що змінилося в них після зняття копії, зникає — нові товари, виправлені ціни, правки в адмінці сайту. Що саме перезапишеться, залежить від рушія: у OpenCart це каталог (товари, категорії, виробники, атрибути, опції, фото), у WooCommerce до нього додаються сторінки й записи блога, у 1C-Bitrix — інфоблоки цілком. Звіряйте дату й час в імені файла, перш ніж натискати.
Якщо обраний файл уже видалено за строком зберігання, у відповідь прийде повідомлення про те, що файла немає. Оновіть вікно й виберіть іншу копію.
Запуск і розклад
Запускається тунельний шаблон так само, як будь-який інший, — кнопкою «Вивантажити» з рядка списку. Спершу відкриється діалог «Що буде вивантажено» (його можна вимкнути на весь акаунт), і вже з нього почнеться прогін. У самій картці шаблону кнопки запуску немає: у шапці тільки пілюля стану й кнопка-графік «Історія запусків». Стоп-правила працюють у будь-якому разі: якщо правило стоїть у режимі «Зупинити вивантаження» і поріг перевищено, прогін до сайту не дійде взагалі. Подробиці — у статті про шаблони вивантаження.
Розклад задається кнопкою «Налаштування розкладу» в секції «Додатково».
Прогін іде порціями: за один пакет модуль отримує 50 рядків і працює не довше 15 секунд, після чого програма опитує його стан і надсилає наступну порцію. Опитує кожні 3 секунди, у журналі це видно рядками «Завантажено N рядків». Саме через порції великий каталог їде довго: модуль працює короткими підходами, а не одним довгим запитом.
Кнопка «Зупинити» в Центрі операцій діє між порціями: програма дочекається кінця поточного пакета й напише «Вивантаження перервано користувачем!». Що встигло статися до цього моменту, залежить від того, на якому кроці ви зупинили. На передачі даних вітрина не змінюється взагалі — усе лежить у тимчасових таблицях. Після початку злиття частина даних уже на сайті; це нормальний стан, наступний прогін його добере.
Порядок кроків у журналі однаковий від прогону до прогону. Спершу йде передача — рядки «Вивантаження …»: валюти й курси, мови, контрагенти, одиниці вимірювання, магазини, склади, категорії товарів, товари, виробники, блоки атрибутів, атрибути, значення атрибутів, фотографії, статті, відгуки, FAQ, сімейства товарів. Які саме рядки будуть, залежить від того, що ви відзначили. Далі починається злиття, і тут рядки залежать уже від рушія сайту. Для OpenCart вони такі: «Створено архівну копію БД сайту:», «Видаляємо позиції в БД сайту, які були видалені раніше», «Виконуємо SQL запити перед оновленням», «Синхронізуємо ID позицій з БД сайту», «Оновлення сайту», «Оновлюємо атрибути», «Виконуємо SQL запити після оновлення» і «Видаляємо тимчасові таблиці та файли». Завершується все рядком «Вивантаження даних завершено» і витраченим часом.
Тонкі налаштування
Секція «Додатково» — сім кнопок, кожна відкриває своє вікно. Восьма, «Налаштування вивантаження фото», зʼявляється поруч, щойно ви поставите прапорець «Фото». Три кнопки є тільки в тунелі: «Додаткові параметри», «Налаштування SQL запитів» і «Відновлення БД сайту» (про нього — окремий розділ). У четвертої, «Налаштування оновлення за наявністю товару», у тунелі зʼявляється блок, якого у фідів немає.
1
«Налаштування оновлення за наявністю товару»2
«Додаткові параметри»3
«Налаштування SQL запитів»4
«Відновлення БД сайту»- «Налаштування оновлення за наявністю товару» відкриває правила показу статусів наявності для тунелю.
- «Додаткові параметри» — довільні параметри запиту до сайту.
- «Налаштування SQL запитів» — власні SQL-запити для вивантаження.
- «Відновлення БД сайту» відкриває список архівних копій бази.
«Налаштування оновлення за наявністю товару»
Таблиця «статус наявності → що побачить сайт»: для кожного вашого статусу задається кількість, активність товару на сайті й назва, під якою статус має зʼявитися на сайті.
Тільки в тунелі під таблицею зʼявляється блок «якщо товару немає у розвантаженні» з галочкою «Активний» і полем «Кількість». Це правило про товари, які на сайті вже є, а в цю відправку не потрапили. Поки в полі «Кількість» стоїть значення -100, правило вимкнене й програма таких товарів не чіпає. Варто поставити будь-яке інше число — і кожному товару сайту, якого не було у відправці, проставиться вказаний стан і залишок.
1
Поле «Кількість» зі значенням -1002
Галочка «Активний»3
Колонка «Активність товару на сайті»- Значення -100 означає, що правило «якщо товару немає у розвантаженні» вимкнене.
- Галочка «Активний» вмикає це правило.
- Колонка «Активність товару на сайті» в таблиці нижче керує видимістю товару на сайті для кожного статусу.
«Додаткові параметри»
Підказка кнопки — «Вибір об’єктів для обміну даними з сайтом». Вікно показує те, що є на вашому сайті: магазини (склади), мови, категорії, блоки, опції товарів, блоки атрибутів, атрибути товарів, ціни торговельного каталогу й параметри. Список не вигадується, а читається з бази сайту кнопкою-хмаринкою у верхньому рядку вікна (підказка «Оновити список об’єктів»); галочкою ви позначаєте те, що бере участь в обміні. Сусідня кнопка-кошик (підказка «Очистити список об’єктів») стирає перелік, щоб перечитати його заново. Підписів у цих двох кнопок немає — тільки іконки.
Тут же роблять те, за чим інакше довелося б писати SQL: навпроти об’єкта сайту вказують поле базового каталогу, значення якого туди їхатиме. Для 1C-Bitrix так заповнюють властивості товару — наприклад у властивість «Артикул» на сайті кладуть «Артикул виробника» з Elbuz. Так само зіставляють типи цін: знаходите ціну, прочитану з сайту, і вказуєте, з якого цінового поля Elbuz її брати. У тому ж полі можна написати вираз — скажімо, помножити ціну на курс валюти.
Завдання «покласти значення поля Elbuz у нестандартне поле сайту» майже завжди вирішується тут, без жодного рядка SQL. У «Налаштування SQL запитів» має сенс іти тоді, коли потрібного об’єкта в цьому списку немає або потрібна складніша логіка.
«Налаштування SQL запитів»
Три вкладки: «Після оновлення» (відкрита першою), «Перед оновленням» і «Відкрити посилання» — останнє поле підписане «Відкрити посилання або виконати скрипт PHP (запуск після оновлення)» і потрібне, щоб після прогону смикнути на сайті, наприклад, скидання кеша. Посилання чи скрипт запускається тільки тоді, коли заливка на сайт пройшла успішно. Запити виконуються в базі сайту.
Сюди приходять у двох випадках: коли типового оновлення не вистачає (переписати ЧПУ наявних товарів, заповнити нестандартне поле) і коли вашої CMS у списку немає й усе злиття пишеться руками. Обидва розібрані окремо — оновлення сайту власними SQL-запитами: тимчасові таблиці, розділювач ;;;, готові приклади запитів.
«Налаштування вивантаження полів»
Таблиця відповідності «поле каталогу → поле бази сайту». Колонка «Оновлювати» вимикає окреме поле: не хочете, щоб тунель чіпав на сайті опис, — зніміть галочку, і опис залишиться таким, як його правили на сайті.
Колонка «Формула» дозволяє записати на сайт не саме значення, а вираз. Пишуть його мовою MySQL, а поля тимчасової таблиці згадують з приставкою etrade_temp.:
IF(etrade_temp.price_rrp > 0, etrade_temp.price_rrp, etrade_temp.price) — «якщо РРЦ заповнена, віддай на сайт її, інакше звичайну ціну». Так само підставляють і власні поля базового каталогу: їхні імена мають вигляд etrade_temp.product_f451, а номер поля видно в налаштуванні колонок сітки базового каталогу.
Формула застосовується тільки при оновленні вже наявних на сайті записів. Товар, який цим прогоном створюється вперше, отримає звичайне значення поля — формулу до нього не застосують. Тому перевіряти формулу на щойно доданих товарах марно: подивіться на тих, що вже є на сайті. І ще: якщо в тому самому рядку заповнене фіксоване значення, воно старше за формулу — формула буде проігнорована.
«Налаштування оновлення за наявністю товару»
Тут кожному статусу наявності з вашого каталогу задають, що писати на сайт: кількість, активність товару і «Назва на сайті (у файлі)». Знята галочка «Активність» у рядку означає «нічого не підміняти» — кількість і активність поїдуть такими, як стоять у картці товару.
Поле «Назва на сайті (у файлі)» потрібне, коли назви статусів на сайті й у Elbuz різні. Прив’язка до довідника статусів сайту працює тільки для OpenCart усіх трьох версій: там програма шукає статус у таблиці сайту — за вашою назвою, якщо поле порожнє, або за вписаною, якщо заповнене. Для решти CMS довідник статусів не чіпається, але значення все одно підставляється замість назви статусу в даних, що їдуть на сайт.
Нижче — блок, якого у файлових вивантажень немає: «Якщо товару немає у розвантаженні». Він каже, що робити з товарами, які на сайті є, а в цей прогін не потрапили, — наприклад ви вивантажуєте лише те, що в наявності. Можна проставити їм свою кількість і зняти активність, щоб на сайті вони не висіли доступними. Працює для OpenCart усіх трьох версій, 1C-Bitrix, CS-Cart, Magento, PrestaShop і WebAsyst Shop-Script; для WooCommerce і режиму «MySQL (SQL custom query)» цього правила немає.
Щоб кількість таких товарів не змінювалася зовсім, у полі кількості лишають значення -100: це умовний код «нічого не робити», і блок пропускається цілком.
Решта кнопок
«Налаштування вивантаження фото» (тека на хостингу для файлів, кількість потоків), «Генератор описів» і «Налаштування розкладу» працюють так само, як у решти типів вивантаження.
Сценарії
Кожен сценарій — задача магазину, настройки картки тунельного шаблону, які для неї вмикають, і що з цього вийде на сайті.
Щодня оновлювати на сайті ціни й залишки
Що зробити. У секції «Вибір даних для вивантаження» лишіть «Категорії», «Товари», «Виробники» і прапорець «Вивантажувати лише нові дані». Кнопкою «Налаштування розкладу» в секції «Додатково» задайте розклад.
Що вийде. Кожен прогін бере тільки товари, категорії й виробників, які змінилися з минулого прогону, а після успішної заливки на сайт позначає як вивантажені відправлені товари разом з їхніми фото й значеннями атрибутів, а категорії, виробників і атрибути — усього каталогу. Якщо заливка зірвалася (помилка в запитах «Після оновлення», обрив звʼязку з модулем), позначки не ставляться, і наступний прогін відправить ті самі зміни ще раз. Ціна на сайті — РРЦ, якщо вона заповнена й стоїть «Оновлювати на сайті ціну на основі РРЦ», інакше звичайна ціна товару.
Чого не буде. Товар, який у каталозі не змінювався, на сайті не переписується: правка, зроблена в адмінці сайту, лишиться до наступної зміни цього товару в Elbuz. Товари, категорії й виробники із сайту не видаляються, поки в секції «Вибір даних для видалення на сайті» не відзначено жодного прапорця.
Товари, яких немає у вивантаженні, на сайті вимкнути, а не видаляти
Що зробити. У секції «Додатково» відкрийте «Налаштування оновлення за наявністю товару». У блоці «якщо товару немає у розвантаженні» зніміть «Активний» і впишіть у «Кількість» 0. На вкладці «Вивантаження» зніміть «Вивантажувати лише нові дані».
Що вийде. Після злиття кожен товар сайту, якого не було в цій відправці, отримує неактивний стан і залишок 0.
Чого не буде. Картки з сайту не видаляються — лише гаснуть. Поки в «Кількість» стоїть -100, правило вимкнене. Під правило потрапляють і товари, які ви завели прямо в адмінці сайту: у вивантаженні з Elbuz їх немає ніколи. Для WooCommerce, HostCMS і «MySQL (SQL custom query)» цього правила в програмі немає.
Прибрати із сайту товари, яких більше немає в каталозі
Що зробити. Сценарій для OpenCart 3. У секції «Вибір даних для видалення на сайті» відзначте «Товари» (за потреби — ще «Категорії» й «Виробники») і ввімкніть «Видаляти, якщо немає у вивантаженні». Зніміть «Вивантажувати лише нові дані». «Додатковий фільтр» у блоці «Обмеження вивантаження (фільтр)» має бути порожнім.
Що вийде. У кінці прогону з бази сайту видаляються товари, яких не було у вивантаженні, разом з їхніми описами, фото, привʼязками до категорій і магазинів.
Чого не буде. Якщо в «Додатковому фільтрі» задана хоч одна умова, прапорець нічого не видаляє. В інших CMS, крім OpenCart 3, «Видаляти, якщо немає у вивантаженні» не діє. Кнопка «категоріям» і поле «Магазин» видалення не вимикають: товар сайту поза відзначеними категоріями чи поза обраним магазином теж вважається відсутнім у вивантаженні й буде видалений — так само, як і товар, заведений тільки в адмінці сайту.
Один каталог на два сайти
Що зробити. Заведіть окремий тунельний шаблон на кожен сайт і в кожному в полі «Магазин» оберіть свій магазин. Якщо на сайт мають потрапляти тільки товари з наявністю в цьому магазині, поставте «Лише в наявності в цьому магазині». Кореневу категорію-ярлик кожного сайту приберіть, як описано в розділі про ярлики.
Що вийде. Кожен сайт отримує тільки категорії, товари й виробників, віднесених до його магазину.
Чого не буде. Прапорець «Магазини» у «Вибір даних для вивантаження» склад вивантаження не обмежує: він про розрізи цін і залишків за магазинами. Позначка «вже вивантажено» в товару одна, а не своя для кожного шаблону, а категорії й виробників прогін позначає по всьому каталогу: якщо «Вивантажувати лише нові дані» стоїть в обох шаблонах, зміни спільних товарів, категорій і виробників, які забрав перший, другий уже не побачить. Лишайте цей прапорець щонайбільше в одному з них.
Видалений у каталозі товар має зникнути із сайту без прогону
Що зробити. У секції «Вибір даних для видалення на сайті» відзначте «Товари» і ввімкніть «Видаляти дані відразу на сайті». Шаблон має бути ввімкнений — пілюля стану в шапці картки.
Що вийде. Видалення товару в базовому каталозі саме по собі, без запуску вивантаження, надсилає запит на видалення на кожен сайт, у шаблоні якого стоять ці два прапорці.
Чого не буде. Через вимкнений шаблон нічого не видаляється. Без прапорця «Товари» в секції видалення видалення товару на сайт не піде, навіть коли «Видаляти дані відразу на сайті» ввімкнено: прапорці сутностей діють окремо — для категорій потрібні «Категорії», для виробників «Виробники».
Чого тунель не робить
- Не показує пробний прогін одного товару. Кнопка «Перевірити» відповість «Для цього формату шаблону перевірка поки недоступна». Перевірка одна — повний прогін і журнал.
- Не бере товари з прайсів постачальників. Джерело в тунелю одне — базовий каталог. Щоб дані постачальника поїхали на сайт, спершу оновіть базовий каталог із прайсів.
- Не рахує націнку. На сайт іде ціна з каталогу, з однією поправкою — прапорцем «Оновлювати на сайті ціну на основі РРЦ».
- Не робить копію сайту. Архівується тільки база й тільки таблиці відзначених сутностей. Файлів, шаблонів, модулів і замовлень у копії немає.
- Не забирає нічого із сайту. Замовлення, покупці й відгуки, залишені на сайті, їдуть у зворотному напрямку — це «Завантаження даних», сусідній пункт меню й окрема настройка.
- Не тримає версій вивантажень. Кожен прогін перезаписує дані на сайті; «як було минулого тижня» можна відновити лише з архівної копії, якщо вона ще не видалена за строком зберігання.
Що робити, коли щось пішло не так
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| «Вкажіть посилання на Ваш сайт!» | Натиснули «Підключити» з порожнім полем адреси сайту | Впишіть адресу головної сторінки сайту (про підключення) |
| «Виберіть CMS на базі якої працює Ваш сайт!» | Не обрано рушій сайту | Оберіть CMS і, якщо є, версію. Немає вашої в списку — беріть «MySQL (SQL custom query)» |
| «Не вказано посилання на модуль E-Trade Tunnel або логін або пароль!» | Натиснули «Перевірити підключення», а реквізити модуля не заповнені | Натисніть «Підключити» — програма підставить їх сама (про підключення) |
| «Вказано неправильний логін або пароль до модуля E-Trade Tunnel!» | Пароль у модулі на хостингу не збігається з тим, що в налаштуваннях шаблону | Перевстановіть теку модуля на сайті й натисніть «Підключити» заново: програма запише в модуль новий пароль |
| «Вивантаження даних НЕ завершено: файл не сформовано» | У тунелю це майже завжди означає, що порожнє одне з шести обовʼязкових полів підключення: посилання на модуль, імʼя користувача, пароль, адреса сервера бази, імʼя користувача бази, назва бази | Відкрийте вкладку «Підключення», заповніть порожнє поле й натисніть «Перевірити підключення» (про підключення) |
| «Магазин (ID N), обраний у налаштуваннях шаблону, видалено — вивантажувати нічого. Оберіть магазин у шаблоні або зніміть вибір, щоб вивантажувати весь каталог.» | Магазин, обраний у полі «Магазин» шаблону, видалили. Тунель у такому разі на сайт нічого не відправляє, і прогін закінчується рядком «Вивантаження даних НЕ завершено: файл не сформовано» | Оберіть у полі «Магазин» наявний магазин або зніміть вибір, щоб вивантажувати весь каталог (про відбір товарів) |
| «Скасовано вивантаження за розкладом, причина - вивантажується інший шаблон (конфлікт обробки даних).» | Два вивантаження за розкладом наклалися одне на одне | Рознесіть розклади шаблонів у часі (про запуск) |
| «Вивантаження перервано користувачем!» | Натиснули «Зупинити» в Центрі операцій; прогін завершився на межі порції | Нічого. Частина даних уже на сайті, наступний прогін добере решту |
| У журналі немає рядка «Створено архівну копію БД сайту:», хоча прапорець стоїть | Архівація не реалізована для режиму «MySQL (SQL custom query)» | Робіть копію бази засобами хостингу перед прогоном (про копію) |
| «Для цього формату шаблону перевірка поки недоступна» | Пробного прогону одного товару в тунелю немає | Запустіть повне вивантаження й дивіться журнал у Центрі операцій |
| «Увага, ви використовуєте ДЕМО версію! Вивантаження товарів обмежено 100 товарами.» | Демо-акаунт: на сайт поїдуть перші 100 товарів і 500 фото | Поповніть баланс — меню Кабінет → Баланс → Оплата |
| Після прогону товари на сайті стали неактивними, а в Elbuz у них знято активність | Вимкнена головна категорія товару: тунель вимикає такі товари в базовому каталозі перед відправкою | Увімкніть категорію, а щоб прибрати її з сайту — знімайте не «Активність», а «Вивантажувати у файл (на сайт)» (що тунель робить із каталогом) |
| На сайті з’явилися кореневі категорії, яких там не було: дочірні розділи тепер стоять усередині них | Разом із відзначеними категоріями на сайт їдуть їхні батьківські, якщо в тих увімкнено «Вивантажувати у файл (на сайт)» | Вимкніть перемикач у кореневій категорії, видаліть її на сайті й запустіть повний прогін (коренева категорія вже на сайті) |
| «Журнал віддалених позицій готовий до вивантаження!» | Натиснули «Очистити прапор видалення» | Запустіть вивантаження — видалення на сайті повторяться (про видалення) |
| «Error! Need mode LOAD DATA LOCAL INFILE! Variable local_infile: OFF» або «mysqli_query(): LOAD DATA LOCAL INFILE forbidden» | Дані приїздять на сайт CSV-файлом, і модуль заливає їх у тимчасову таблицю командою LOAD DATA LOCAL INFILE. На вашому хостингу вона вимкнена |
У php.ini — mysqli.allow_local_infile = On (за замовчуванням рядок закоментований крапкою з комою). У my.cnf — local-infile=ON у секціях [mysqld] і [mysql], далі перезапуск MySQL. Перевірка: SHOW VARIABLES LIKE 'local_infile'. Це налаштування хостингу, з боку Elbuz його не змінити |
| Прогін падає зі згадкою про zip | На хостингу немає розширення PHP zip, а файли їдуть на сайт запакованими |
Поставте розширення (php-zip, для Bitrix VM — php-pecl-zip) і перезапустіть веб-сервер. Які розширення є на хостингу, показує кнопка «Перевірити підключення» |
| «504 Gateway Time-out» або «502 Bad Gateway» | Веб-сервер сайту не дочекався відповіді від PHP і обірвав запит. На великому обсязі даних тунель працює довше, ніж дозволено за замовчуванням | Це налаштування хостингу сайту, не Elbuz: збільшити час очікування (у nginx — таймаути проксування, у PHP — час виконання скрипта). Як тимчасовий захід — розбийте вивантаження на менші порції відбором товарів |
| «Class PDO not found» | На хостингу сайту не встановлено розширення PHP pdo. Воно потрібне тільки для архівної копії бази сайту перед оновленням |
Поставте php-pdo — або зніміть прапорець створення архівної копії в налаштуваннях шаблону (про копію) |
| «MySQL server has gone away» | База сайту закрила з'єднання: або минув час очікування, або порція даних більша за дозволений розмір пакета | Знову ж таки налаштування хостингу сайту: збільшити wait_timeout і max_allowed_packet у конфігурації MySQL. З боку Elbuz допомагає зменшити обсяг одного прогону |
| Поля для SEO заповнені, а H1 і Meta title на сайт не приїхали | У CMS цих полів може не бути взагалі — тоді їх немає і в налаштуваннях вивантаження полів | Перевірте, чи є ці поля в таблицях сайту. Якщо є, але в списку полів їх немає, оновіть їх власним SQL-запитом (про запити) |
| Для 1С-Bitrix треба вивантажити виробника або артикул, а поля для них немає | У Bitrix це не поля товару, а його властивості | Робиться це у вікні «Додаткові параметри»: навпроти властивості сайту вказують поле каталогу, звідки брати значення (як саме) |
| Треба оновити на сайті дані з додаткового поля каталогу, а в списку полів його немає | Додаткові поля в стандартний перелік не входять | Спершу подивіться у «Додаткові параметри»: якщо потрібний об'єкт сайту там є, поле вказують навпроти нього без жодного SQL. Немає об'єкта — тоді SQL-запит до таблиці сайту (про запити) |
| На сайт їде не та кількість, що в картці товару | Так і задумано: за замовчуванням кількість на сайті визначає статус наявності, а не залишок. Тунель переписує кількість і активність за налаштуваннями наявності шаблону | Відкрийте «Налаштування оновлення за наявністю товару» в картці шаблону й зніміть «Активність налаштування» у всіх статусів — тоді поїде справжня кількість із картки |
Хто має доступ
Тунель не захований за модулем: тип шаблону «Elbuz Tunnel» є в кожному акаунті. Прав два: на вікно «Вивантаження даних» і окремо на картку шаблону. Хто має перше, але не має другого, побачить список каналів, але не відкриє налаштування.
Усередині картки є шість блоків, які видаються окремо: категорії, товари, виробники, атрибути, опції, фото. Знятий блок галочку не приховує, а блокує — вона видна, але змінити її не можна. У формі тунелю на блок «товари» зав’язані ще й прапорці мов, магазинів, складів, статей, відгуків, FAQ, сімейств і замовлень, обидві настройки «Детального налаштування», уся секція архівації та поле «Магазин».
Вікна секції «Додатково» окремих прав не мають: право на них те саме, що на картку шаблону. Хто відкрив картку, той відкриє і «Налаштування оновлення за наявністю товару», «Налаштування вивантаження полів», «Налаштування вивантаження фото», «Додаткові параметри» та «Генератор описів». Плануючи доступ співробітникам, виходьте з того, що право на картку шаблону дає право на всі її налаштування.
Два вікна виведені в окремі права — «Відновлення БД сайту» і «Налаштування SQL запитів»: обидві операції необоротні, і право перевіряється не лише при відкритті вікна, а й на самій дії. Знімете галочку — форма не відкриється, а прямий виклик збереження чи відновлення повернеться з відмовою.
Перед першим прогоном
Часті запитання
Чому в колонці «Файл» у мого тунельного шаблону порожньо?
Тому що файла в тунелю немає. Дані йдуть прямо в базу даних сайту, і посилання, яке можна було б комусь віддати, не створюється. Порожня колонка «Файл» у тунельного шаблону — нормальний стан.
Чи можна перевірити один товар перед повним прогоном?
Ні. Кнопка «Перевірити», яка в фідах показує фрагмент файла для одного товару, у тунелю відповідає «Для цього формату шаблону перевірка поки недоступна». Перевірка одна — повний прогін і журнал у Центрі операцій, тому перед першим запуском варто лишити ввімкненою архівну копію бази сайту.
Вимкнений товар поїде на сайт?
Так, і це відмінність тунелю від файлових вивантажень. У фіда в новому шаблоні одразу стоїть умова «Активність = так», у тунельного шаблону вона знімається. Вимкнений товар їде на сайт разом зі своїм станом і гасне вже там — картка, яка колись була у продажу, має саме вимкнутися, а не зникнути з оновлення.
Що станеться з товарами, якщо вимкнути категорію?
Перед кожним прогоном тунель вимикає товари, головна категорія яких неактивна, — і робить це у вашому базовому каталозі, а не тільки у вивантаженні. Далі такі товари їдуть на сайт уже неактивними. Щоб категорія не вивантажувалася на сайт, а товари лишилися активними, знімайте в неї «Вивантажувати у файл (на сайт)», а не «Активність».
Як вивантажити на сайт тільки дочірні категорії, без кореневої?
Вимкніть у картці кореневої категорії перемикач «Вивантажувати у файл (на сайт)». Тоді на сайт вона не поїде, а її дочірні категорії стануть там кореневими; товари з відзначених категорій вивантажуються, як і раніше. Якщо коренева категорія вже є на сайті, видаліть її там і запустіть повний прогін: поки вона лежить на сайті, тунель прив’язує дочірні категорії до неї.
Де лежить архівна копія бази сайту й що в неї входить?
У теці etrade_http_tunnel2/backup на хостингу вашого сайту, імʼя файла складається з назви бази, дати й часу. У копію входять тільки таблиці тих сутностей, які відзначені в «Вибір даних для вивантаження»: категорії, товари, виробники, атрибути, опції, фото. Замовлень, покупців, налаштувань і шаблонів дизайну там немає. За замовчуванням копії зберігаються 7 днів.
Чому в журналі немає рядка про архівну копію, хоча прапорець стоїть?
Архівація реалізована не для всіх режимів. Копію знімають усі CMS зі списку: 1C-Bitrix, CS-Cart, Magento, OpenCart усіх трьох версій, PrestaShop, WebAsyst Shop-Script і WooCommerce. А ось у режимі «MySQL (SQL custom query)» прапорець нічого не робить — копію треба знімати засобами хостингу.
Кнопка «Відновити» перепитає, перш ніж відновлювати?
Так. Спершу відкривається попередження з іменем файла копії, і відновлення почнеться тільки після підтвердження. Після нього модуль заливає обраний дамп у робочу базу сайту поверх поточних даних: таблиці, які є в копії, перезаписуються повністю, і все, що змінилося в них після зняття копії, зникає. Звіряйте дату й час в імені файла до натискання.
Чи можна вивантажувати на сайт за розкладом?
Так, кнопкою «Налаштування розкладу» в секції «Додатково» картки шаблону. Розклад пропускає вимкнені шаблони, а два вивантаження одночасно не запускаються — друге напише в журнал про конфлікт обробки даних.
Мій сайт не на тій CMS, що є в списку. Тунель не підійде?
У списку рушіїв є окремий пункт «MySQL (SQL custom query)» — для сайту на будь-якому іншому рушії. Реквізити бази в цьому разі вписують руками, а запити злиття задають у вікні «Налаштування SQL запитів». Автоматичного читання конфігураційного файла сайту для нього немає.
Суміжні теми
- Оновлення сайту власними SQL-запитами — для сайту, якого немає в списку CMS, і для випадків, коли типове оновлення треба доповнити своїм запитом.
- Вивантаження та маркетплейси — розділ керівництва, до якого належить ця стаття.
- Вивантаження товарів на маркетплейс, сайт і у файл — загальна механіка шаблонів: список, зведення перед запуском, стоп-правила, розклад, журнал прогону.
- Оновлення базового каталогу з прайс-листів — крок, після якого дані постачальників зʼявляються в каталозі й можуть поїхати на сайт.
- Кілька магазинів в Elbuz: склад магазину і вивантаження — що саме відсіює поле «Магазин» і як наповнюється склад магазину.

