Більшість способів завантаження працює через файли або API: щось вивантажується, кудись передається, потім читається. Elbuz Tunnel працює інакше — це прямий зв'язок із базою даних вашого наявного інтернет-магазину. Товари переносяться з бази сайту в каталог Elbuz без проміжних файлів і без вивантажень.
Це один зі способів із загального огляду завантаження даних, і найзручніший, коли у вас уже є працюючий магазин на популярній CMS, а каталог треба перенести в Elbuz. Якщо ж потрібно віддати каталог назовні, а не забрати його, дивіться зворотний бік тунелю — вивантаження через Elbuz Tunnel.
Що таке тунель
Тунель — це невеликий модуль-посередник, який ви ставите на хостинг свого сайту. Elbuz звертається до нього за окремим логіном і паролем, а модуль уже читає базу даних магазину й віддає те, що запитали. Виходить прямий канал: немає файлу, який треба вивантажити й завантажити, немає ключів API — є з'єднання, і по ньому каталог сайту стає доступним Elbuz.
Через це перенос виходить повнішим за файловий: передаються не лише назви й ціни, а структура категорій, виробники, характеристики, опції та фотографії — усе, що реально лежить у базі сайту.
З якими CMS працює
Тунель розрахований саме на чужі системи — ті, на яких зазвичай і стоїть магазин до переходу в Elbuz. У списку підтримуваних:
| CMS | Вибір версії у формі |
|---|---|
| OpenCart | 1.5, 2, 3 |
| Magento | 1, 2 |
| 1C-Bitrix | — |
| WooCommerce | — |
| PrestaShop | — |
| CS-Cart | — |
| WebAsyst Shop-Script | — |
Окремим пунктом у списку стоїть MySQL (власний SQL-запит) — режим для саморобних і рідкісних систем: якщо вашої CMS у переліку немає, але магазин працює на MySQL, дані можна забрати власним запитом до бази. Як пишуть такі запити, розібрано окремо — робота з SQL-запитами в тунелі. Є й варіант Elbuz CMS — той самий тунель для сайтів на нашій CMS.
Встановлення модуля на ваш хостинг
Тунель — це папка 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) потрібен лише для першого встановлення — у ньому ці файли й порожні папки є.
Де це у програмі
У вікні завантаження створіть шаблон і оберіть тип «Elbuz Tunnel». Форма поділена на дві вкладки: «Підключення» — де ви обираєте CMS свого сайту, її версію та вказуєте адресу, і «Завантаження» — де позначаєте, що саме переносити. Файл тут не вказують зовсім. На знімку нижче з'єднання вже налаштоване, тому кнопка підписана «Перевірити підключення»; у новому шаблоні на її місці буде «Підключити».
1
Вибір CMS сайту2
Посилання на сайт і кнопка підключення- Оберіть CMS вашого сайту зі списку підтримуваних платформ.
- Вкажіть посилання на сайт і натисніть «Підключити», щоб перевірити з'єднання з модулем тунелю.
Що переноситься: галочки шаблону
Склад переносу ви задаєте самі. У новому шаблоні вже ввімкнені «Категорії», «Товари» й «Виробники», а «Атрибути», «Опції», «Фото» та «Замовлення» вимкнені — їх додають свідомо.
| Галочка | Що робить |
|---|---|
| Категорії, Товари | Основа переносу — структура каталогу й самі товари. Вимикати не рекомендуємо: без них решта даних нема до чого прив'язати |
| Виробники | Назви виробників із сайту потрапляють у ваш довідник виробників |
| Атрибути | Властивості й технічні характеристики товару — у картку, на вкладку «Атрибути» |
| Опції | Розмір, вага, колір — те, що на сайті може впливати на ціну; теж потрапляє на вкладку «Атрибути» |
| Фото | Зображення, прив'язані до товарів на сайті, — у картку, на вкладку «Фото» |
| Замовлення | Замовлення, які зберігаються у вашому магазині. Файлові формати цього не вміють — тунель уміє, але не для кожної CMS: подробиці нижче, у розділі про замовлення |
Ще два перемикачі змінюють поведінку самого переносу:
«Видаляти записи в базовому каталозі, яких немає на сайті» перетворює завантаження на дзеркало: товари й категорії, яких на момент запуску на сайті немає, з базового каталогу приберуться. Потрібно, коли сайт лишається головним джерелом і каталог Elbuz має точно його повторювати. Якщо галочки немає, дані лише додаються й доповнюються.
Фото тунель забирає посиланнями. У шаблоні тунелю режим «отримувати лише посилання на фото» увімкнено постійно, окремого перемикача для нього у формі немає: Elbuz бере з сайту адреси зображень, а самі файли лишаються лежати на вашому хостингу. Сайт під час переносу через це майже не навантажується. Виняток один — увімкнена послуга «Хмарне зберігання фото»: тоді файли викачуються у хмару Elbuz, по двадцять паралельних завантажень.
Частина систем потребує уточнень. Наприклад, для багатомовного сайту треба вибрати мову, дані якою забирати. Для 1C-Bitrix обов'язково вказують інфоблок, у якому лежать товари, — без цього програма не знає, звідки їх брати. Такі поля з'являються у формі самі після вибору CMS.
Коли підходить тунель
Найчастіший випадок — переїзд у Elbuz: у вас є працюючий магазин, і весь його каталог треба перенести одним заходом, разом із структурою, фото й характеристиками. Файлове вивантаження тут частіше за все спрощує дані — щось із CMS взагалі не вивантажується, щось втрачає зв'язки, — а тунель читає базу такою, якою вона є.
Другий випадок — сайт лишається основним, а Elbuz веде облік, ціни й канали продажу. Тоді тунель ставлять на розклад, і каталог Elbuz регулярно підтягує зміни з сайту.
Якщо ж інший бік — маркетплейс або зовнішня облікова система, тунель не підійде: там немає бази, до якої можна під'єднатися. Для таких джерел дивіться імпорт через API, а для файлів — готові формати або універсальний імпорт.
Як іде перенос
Коли з'єднання встановлене, натискаєте у шапці вікна кнопку «Отримати каталог товарів» — і бачите процес завантаження. Після завершення товари опиняються в базовому каталозі: ярлик «Товари базового каталогу» на робочому столі або меню «Довідники» → «Базовий каталог товарів».
Перший перенос створює товари, наступні оновлюють наявні — задвоєння не буде, бо позиції зіставляються за ідентифікаторами з сайту. Як і з будь-яким імпортом, перший раз варто перевірити результат очима: чи перенеслася структура категорій, чи стали на місця фото й характеристики. Переконались — можна ставити шаблон на розклад.
Порядок роботи всередині прогону завжди однаковий: спершу Elbuz по черзі забирає з сайту набори даних і складає їх у себе, потім розкладає їх по базовому каталогу — видалення (якщо ввімкнено дзеркальний режим), категорії, виробники, товари, характеристики, замовлення, фото. Наприкінці програма застосовує формули полів, перевіряє цілісність даних і переіндексовує товари.
Як зрозуміти, що перенос відпрацював. Журнал прогону сам називає числа — у ньому мають з'явитися рядки «Усього категорій завантажено:», «Всього товарів завантажено:», «Всього виробників завантажено:», а якщо забирали замовлення — ще й «Всього замовлень завантажено:». Завершений прогін закриває рядок «Завантаження даних завершено!» і поруч «Витрачено часу:». Ці ж дата й тривалість потім видно в списку шаблонів у колонці «Останнє завантаження».
Тунель читає базу вашого сайту, а якщо у вас увімкнена послуга «Хмарне зберігання фото» — ще й викачує зображення. На великому каталозі це помітне навантаження на хостинг магазину, тому перший повний перенос краще робити в години найменшої відвідуваності.
Повторний перенос поверх ваших правок
Тунель звіряє записи за ідентифікаторами з бази сайту. Картку, яку ви завели в Elbuz руками, він не оновлює: на сайті такої немає, звіряти нема з чим. А от картку, що колись приїхала тунелем, кожен наступний прогін оновлює — і частина ваших правок у ній не переживе оновлення. Нижче — що станеться з карткою, на якій не стоять позначки захисту (про них одразу після таблиці).
| Що ви змінили в картці | Що буде після наступного переносу |
|---|---|
| Назва, описи, SEO-поля | Сайт віддав непорожнє значення — воно перезапише ваше. Сайт віддав порожнє — лишиться ваше |
| Артикул, штрихкоди, вага, габарити, гарантія, мінімальне замовлення | Так само: непорожнє значення з сайту перезаписує, порожнє — ні |
| Ціна, стара ціна, рекомендована ціна | Беруться з сайту без перевірки на порожнє значення |
| Активність, статус наявності, порядок сортування | Завжди беруться з сайту |
| Категорії товару | Прив'язки переписуються цілком: тунель прибирає всі категорії товару й розставляє їх заново так, як на сайті |
| Супутні товари | Так само переписуються за сайтом |
| Характеристики | Якщо у шаблоні стоїть галочка «Атрибути», значення характеристик очищуються по всьому базовому каталогу й наповнюються заново з сайту |
| Фото | Додаються ті, яких ще не було. Знімки, додані вами в Elbuz, лишаються: тунель звіряє лише свої, що прийшли з сайту |
Закріпити своє значення можна двома позначками в картці товару — розділ «Статуси та прапорці», група «Захист під час імпорту»:
- «Не оновлювати» — тунель пропускає картку в основному оновленні: ціна, наявність, артикул, габарити, активність, сортування, назва, описи й SEO-поля лишаються вашими;
- «Фіксована ціна» — оновиться все, крім ціни, старої та рекомендованої ціни.
1
Не оновлювати2
Фіксована ціна- Не оновлювати — імпорт не змінює цей товар.
- Фіксована ціна — імпорт не змінює ціну товару.
Прив'язки до категорій позначка «Не оновлювати» не утримує — свою лишає тільки основна категорія картки, а категорії сайту повертаються до товару як додаткові. І «Не оновлювати атрибути» не рятує від очищення характеристик: коли у шаблоні ввімкнені «Атрибути», значення чистяться по всьому каталогу разом. Якщо характеристики ви ведете в Elbuz руками, галочку «Атрибути» у шаблоні тунелю краще не вмикати взагалі.
Дзеркальний режим: що видаляється і як повернути
Галочка «Видаляти записи в базовому каталозі, яких немає на сайті» додає прогону ще один крок, і він іде першим — до додавання й оновлення. Програма позначає всі записи базового каталогу як зайві, знімає позначку з тих, що приїхали з сайту, а решту видаляє. Видалення фізичне: разом із карткою зникають її описи, фото, прив'язки до категорій, складів і магазинів, супутні товари й питання-відповіді. У журналі цей крок підписаний «Видаляємо категорії та товари в базовому каталозі, яких немає у файлі». Кошика в програмі немає — відкотити видалення нічим.
Обсяг видалення залежить від сусідньої галочки «Перевірити унікальність записів з урахуванням цього джерела завантаження» (та сама вкладка, розділ додаткових налаштувань):
- галочки немає — під видалення потрапляє все, чого немає на сайті, зокрема товари з інших шаблонів завантаження;
- галочка стоїть — записи інших шаблонів лишаються, але товари, заведені руками, завантажені з прайс-листів і зібрані парсером, видаляються так само.
1
Видаляти записи, яких немає на сайті2
Перевірити унікальність записів3
Завантаження замовлень з ID- Видаляти записи в базовому каталозі, яких немає на сайті — дзеркальний режим.
- Перевірити унікальність записів з урахуванням цього джерела завантаження.
- Завантаження замовлень починаючи з ID — з якого замовлення почати.
Прибирається лише те, що ви забираєте цим шаблоном: категорії — коли стоїть галочка «Категорії», товари — «Товари», записи довідника атрибутів — «Атрибути». Набір із знятою галочкою дзеркальний режим не чіпає.
Порівняння йде рівно з тим, що прийшло цього разу, без перевірки «а чи не замало?». Якщо модуль віддав порожню або неповну вибірку — упав запит, спрацювало правило відбору, сайт віддав частину категорій, — з каталогу приберуться всі відсутні записи.
Як повернути прибране. Спосіб один: полагодити віддачу на сайті й прогнати тунель ще раз, уже без галочки видалення. Картки створяться заново за тими самими ідентифікаторами сайту — з назвами, цінами, категоріями, характеристиками й фотографіями, які є на сайті зараз. Саме собою не повернеться ось що:
- ваші ручні правки в картках. Вони не зберігаються ніде, крім самої картки, тож після видалення їх немає де взяти;
- зіставлення з прайс-листами. Рядки прайсів лишаються на місці, але позначка «знайдено в базовому каталозі» з них знімається. Ручні пари «рядок прайсу — картка» тунель відновлює сам: він шукає товар за ідентифікатором сайту й проставляє зв'язок назад;
- зв'язок документів із карткою. Рядки вже завантажених замовлень нікуди не зникають — назва, артикул, кількість і ціна зберігаються в самому документі, — але посилання рядка на картку товару після повторного створення не відновлюється.
Тримайте «Видаляти записи…» вимкненим, поки кілька прогонів поспіль не покажуть у журналі очікуване число в рядку «Всього товарів завантажено:». Дзеркальний режим вмикають тоді, коли вже видно, що сайт стабільно віддає повний каталог.
Якщо перенос обірвався або ви натиснули «Стоп»
Прогін складається з двох частин, і стан каталогу після обриву залежить від того, на якій із них він зупинився.
Перша частина — вичитка. Elbuz по черзі запитує в модуля набори даних: категорії, товари, ціни, фото, характеристики, замовлення й решту — кожен окремим запитом. Усе, що приїхало, складається в тимчасову таблицю, базовий каталог у цей час не змінюється. Якщо сайт не відкрив з'єднання або модуль повернув помилку, прогін зупиняється на цьому місці: у журналі червоним видно відповідь сайту й рядок «Вивантаження перервано!», а в базовому каталозі не змінюється нічого.
Друга частина — запис у каталог. Тут зібране розкладається по базовому каталогу. Транзакції на весь прогін немає: якщо обірветься тут, записане лишається записаним, а каталог — у проміжному стані, де частина товарів уже оновлена, а частина ще ні. Для дзеркального режиму це варто пам'ятати окремо: видалення йде першим кроком, тож обрив одразу після нього лишає каталог без прибраних записів, поки ви не прогоните тунель ще раз.
Повторний запуск безпечний. Звіряння йде за ідентифікаторами сайту, тож повтор нічого не задвоїть: він оновить те, що вже записалося, і допише те, чого не встиг. Тимчасову таблицю попереднього прогону наступний прибирає сам, на початку.
Кнопка «Стоп» у Центрі операцій зупиняє прогін не миттєво, а на найближчій контрольній точці: перед кожним набором даних, перед його завантаженням у тимчасову таблицю, після видалення, після категорій, після виробників, після товарів, після характеристик і перед замовленнями. У журналі це видно рядком «Операція перервана користувачем!». Зроблене до зупинки лишається зробленим — це не відкат.
Журнал прогону не прив'язаний до вікна шаблону: рядки пишуться в базу під міткою операції, їх видно в Центрі операцій, а пізніше — в історії запусків шаблону (кнопка з іконкою графіка в шапці форми). Рядки журналу зберігаються 14 днів, картки операцій — 90.
Чия ціна лишиться в картці
У картці базового каталогу одне поле ціни, і пишуть у нього обидва механізми: тунель — те, що стоїть на сайті, а оновлення базового каталогу з прайс-листів — те, що порахували ваші правила націнки. Жоден із них не дивиться, звідки в полі попереднє значення, і пріоритету джерел у програмі немає. Виграє той, хто відпрацював пізніше: пройшов уночі тунель, а зранку оновлення з прайсу — у картці буде ціна з націнкою; у зворотному порядку — ціна сайту.
Важелів тут два:
- порядок запусків. Розклад шаблону тунелю й розклад обробки прайс-листів визначають, чиє значення ляже останнім;
- позначка «Фіксована ціна» в картці. Вона зупиняє обох: ні тунель, ні оновлення з прайсу ціну, стару й рекомендовану ціну не перепишуть. Це єдина гарантія, що в полі лишиться саме те, що ви туди поставили.
У сценарії «сайт лишається основним» — ціни ведуться на сайті, Elbuz їх забирає — не давайте оновленню з прайс-листів чіпати ціну цих товарів. Інакше жодної помилки ви не побачите: у картках просто час від часу опинятиметься то одна ціна, то інша, залежно від того, який прогін був останнім.
Замовлення з сайту: яким документом лягають
Кожне замовлення сайту стає в Elbuz документом «Замовлення покупця». Номер документ отримує за вашим нумератором, а номер із сайту зберігається окремим полем — за ним замовлення й упізнаються надалі. Товари замовлення лягають рядками документа: назва, артикул, кількість, ціна й сума.
Статус. Якщо ви налаштували зіставлення статусів — кнопка «Статуси замовлення» у формі шаблону, поруч такі самі кнопки для статусів оплати й доставки, — документ отримає ваш статус. Якщо зіставлення немає, документ отримує перший статус списку — «Новий».
1
Налаштування розкладу2
Статуси замовлення- Налаштування розкладу — відкриває вікно розкладу завантаження.
- Статуси замовлення — відкриває вікно зіставлення статусів замовлень.
Залишок і резерв не рухаються. Документ створюється непроведеним, а залишок і резерв Elbuz рахує тільки по проведених документах. Поки ви не натиснете «Підписати (провести документ)», замовлення з сайту на наявність товарів не впливає.
Покупець. На кожного нового покупця заводиться контрагент у групі з поля «Група контрагентів» у налаштуваннях шаблону; якщо групу не обрано, використовується «Клієнт». Коли покупця з сайту розпізнати не вдалося, замовлення лягає на контрагента «Кінцевий споживач».
Повторний прогін замовлення не чіпає. Тунель забирає тільки ті замовлення, яких у вас ще немає. Робота менеджера в документі від цього захищена повністю — ні статус, ні суму, ні склад ніхто не перепише, — але й зміна статусу на самому сайті сама до вас не приїде.
Запит на замовлення зараз формують лише OpenCart 2, OpenCart 3 і Magento. Для OpenCart 1.5, WooCommerce, 1C-Bitrix, PrestaShop, CS-Cart і WebAsyst Shop-Script галочка «Замовлення» нічого не забере: помилки не буде, просто в журналі не з'явиться рядок «Всього замовлень завантажено:».
В OpenCart 3 є ще два обмеження вибірки: замовлення без статусу (незавершені кошики) не забираються зовсім, а поле «Завантаження замовлень починаючи з ID» у додаткових налаштуваннях шаблону відсікає все, що старше за вказаний номер, — зручно, коли стару історію тягнути не треба.
Категорії та виробники, створені тунелем
Категорії тунель бере з сайту як є. Виробників — із довідника сайту, а ще додає сам: якщо в товарі заповнене поле виробника або в нього є характеристика, що називається саме «Производитель», її значення стає записом у вашому довіднику виробників. У кожного створеного тунелем запису зберігається джерело — назва шаблону завантаження, яким він приїхав.
Видаляти категорію тунелю небезпечно. Разом із категорією Elbuz видаляє товари, для яких вона основна, — з описами, фото, характеристиками й адресами сторінок. Товари, у яких ця категорія лише додаткова, не постраждають. Тому спершу перенесіть картки: зробіть основною іншу категорію, і лише потім видаляйте порожню.
Але й після цього категорія повернеться: наступний прогін не знайде її за ідентифікатором сайту й створить заново, а прив'язки товарів до категорій він щоразу розставляє за сайтом. Утримати своє розкладання можна тільки позначкою «Не оновлювати» в картці товару — тоді основна категорія лишається вашою, а категорія сайту додається до товару як додаткова.
Видаляти виробника безпечніше: товари лишаються на місці, у них просто очищується поле виробника. Разом із виробником видаляються правила націнки, прив'язані саме до нього, — це варто перевірити заздалегідь.
Завантажені документи від цього не страждають. У рядку замовлення зберігаються назва, артикул, кількість і ціна, а категорія й виробник там не згадуються взагалі. Постраждати може лише зв'язок рядка з карткою — і тільки в тому разі, якщо разом із категорією ви видалите сам товар.
Що змінює вимкнення шаблону
У шапці форми шаблону є перемикач активності. Знімаєте його — і змінюється рівно одне: шаблон перестає запускатися сам. Розклад його пропускає мовчки, у журналі про нього не з'явиться жодного рядка; масовий запуск усіх шаблонів теж бере лише активні.
Решта лишається як була. Ручний запуск кнопкою «Отримати каталог товарів» із самої форми працює й на вимкненому шаблоні. Підключення до модуля, доступи до бази сайту, вибір CMS, галочки складу переносу, зіставлення статусів — усе зберігається. Увімкнули перемикач назад — розклад запрацював без переналаштування.
Уже перенесені товари вимкнення не чіпає: каталог лишається таким, яким його зробив останній прогін.
Межі обсягу й час прогону
Стелі за кількістю рядків у тунелі немає: каталог не ділиться на порції за числом товарів. Замість цього кожен набір даних — категорії, товари, ціни, фото, характеристики, замовлення — запитується окремим запитом, щоб не тримати сайт одним важким.
Скільки Elbuz готовий чекати на кожен такий запит:
| Крок | Скільки чекає |
|---|---|
| Встановлення з'єднання з модулем | 5 хвилин |
| Відповідь модуля на один набір даних | 55 хвилин |
Перед кожним запитом Elbuz ще перевіряє, чи сайт узагалі приймає з'єднання. Окремої межі в секундах ця перевірка не має: скільки чекати, визначає мережа сервера. Якщо сайт не відповів, у журналі з'являється червоний рядок з адресою сайту, і завантаження зупиняється з повідомленням «Вивантаження перервано!».
Не вклався модуль у межі з таблиці — відповіді не буде, і цей набір даних просто не приїде. Помилки в журналі при цьому не з'являється: у ньому лише не буде рядка з кількістю завантажених записів по цьому набору. Для дзеркального режиму це важливо окремо — порівняння піде з неповною вибіркою.
Тривалість саме вашого переносу програма запам'ятовує сама: останній рядок журналу — «Витрачено часу:», а в списку шаблонів завантаження та сама тривалість стоїть у колонці «Останнє завантаження» поруч із датою. Орієнтуйтеся на неї, а не на здогадки: вона врахує і ваш каталог, і швидкість вашого хостингу.
Поки перенос іде, решта програми доступна — можна відкривати інші вікна й працювати. Стежити за прогоном зручніше не у вікні шаблону, а в Центрі операцій: журнал пишеться туди й лишається там після завершення.
Чому перенос виходить повнішим за файл
Файл — це завжди зліпок: у нього потрапляє те, що система-джерело вміє вивантажити, і в тому форматі, який вона підтримує. Тунель читає базу напряму, тому бачить дані такими, якими вони є: з усіма зв'язками між товарами, категоріями й характеристиками, з повними описами й усіма зображеннями. Через це менше втрачається по дорозі й менше доводиться доналаштовувати руками після переносу — особливо на великих каталогах, де файлове вивантаження часто губить частину зв'язків.
Сценарії
Переїжджаю в Elbuz і забираю весь каталог
Задача: перенести з працюючого сайту каталог разом зі структурою, фото й характеристиками.
Що ввімкнути: у блоці «Вибір завантаження даних із сайту» лишити «Категорії», «Товари» й «Виробники» — у новому шаблоні вони вже стоять — і додати «Атрибути» та «Фото». У розділі «Додатково» галочку «Видаляти записи в базовому каталозі, яких немає на сайті» не ставити. Запуск — кнопка «Отримати каталог товарів».
Що вийде: картки з'являться в базовому каталозі з ідентифікаторами сайту, тож наступний запуск їх оновить, а не задвоїть. Фото лягають адресами, файли лишаються на хостингу сайту — якщо не ввімкнена послуга «Хмарне зберігання фото». Чого не станеться: з каталогу нічого не видалиться, а замовлення сайту не приїдуть — для них окрема галочка «Замовлення».
Сайт лишається головним, Elbuz регулярно підтягує зміни
Задача: ціни й наявність ведуться на сайті, а каталог Elbuz має їх повторювати.
Що ввімкнути: кнопка «Налаштування розкладу» у блоці «Повʼязані налаштування» форми шаблону — розклад запусків. У картках, ціну яких ви ставите в Elbuz самі, — позначка «Фіксована ціна»; у картках, які від сайту взагалі не мають мінятися, — «Не оновлювати».
Що вийде: кожен прогін переписує в картках, що приїхали тунелем, ціну, стару й рекомендовану ціну, активність, статус наявності й сортування — так, як на сайті. Картка з «Фіксована ціна» зберігає свої ціни, картка з «Не оновлювати» — ще й артикул, габарити, назву й описи. Чого не станеться: товари, які ви завели в Elbuz руками, тунель не оновлює — на сайті їх немає. І тунель не стежить, хто ще пише в поле ціни: якщо його заповнює й оновлення з прайс-листів, лишиться значення того, хто відпрацював пізніше, — див. розділ про ціну.
Замовлення з сайту на OpenCart 3 мають потрапляти в Elbuz
Задача: бачити замовлення сайту документами в Elbuz, не переносячи їх руками.
Що ввімкнути: галочку «Замовлення»; кнопку «Статуси замовлення» у блоці «Повʼязані налаштування» — щоб статуси сайту лягали вашими статусами; у розділі «Додатково» — «Група контрагентів» для нових покупців і, якщо стара історія не потрібна, «Завантаження замовлень починаючи з ID».
Що вийде: нові замовлення стануть документами «Замовлення покупця», номер сайту збережеться окремим полем, покупці — контрагентами обраної групи. Замовлення з ID сайту, не більшим за вказаний, і замовлення без статусу не заберуться. Чого не станеться: документ створюється непроведеним, тож залишок і резерв не зміняться; вже завантажені замовлення наступні прогони не оновлюють. Для CMS, крім OpenCart 2, OpenCart 3 і Magento, галочка «Замовлення» нічого не забере.
Каталог Elbuz має точно повторювати сайт
Задача: товар, знятий із сайту, має зникати й з базового каталогу.
Що ввімкнути: у розділі «Додатково» — «Видаляти записи в базовому каталозі, яких немає на сайті». Якщо в каталозі є товари з інших шаблонів завантаження, поруч — «Перевірити унікальність записів з урахуванням цього джерела завантаження».
Що вийде: першим кроком прогону з каталогу прибираються категорії, товари й атрибути, яких цього разу не віддав сайт, — кожен набір лише тоді, коли в шаблоні стоїть його галочка. З другою галочкою товари інших шаблонів лишаються на місці. Чого не станеться: товари, заведені руками, завантажені з прайс-листів і зібрані парсером, друга галочка не захищає; перевірки «а чи не замало приїхало» немає, кошика для видаленого — теж. Тому режим вмикають після кількох прогонів, які показали в журналі очікуване число товарів, — див. розділ про дзеркальний режим.
Часті питання
Моєї CMS немає в списку — що робити?
Скористайтеся пунктом «MySQL (власний SQL-запит)»: якщо магазин працює на MySQL, дані можна забрати власним запитом до його бази — у шаблоні завантаження для цього є окрема вкладка «SQL запити для отримання даних із сайту», і як з нею працювати, описано в статті про SQL-запити в тунелі. Якщо доступу до бази немає зовсім, тунель не підійде — тоді дивіться файлові формати або універсальний імпорт.
Навіщо ставити модуль на сайт, чому не підключитися прямо до бази?
Прямий доступ до бази ззовні хостинги майже завжди закривають. Модуль вирішує це: він працює на самому сайті, приймає запити від Elbuz за окремим логіном і паролем і вже локально звертається до бази.
Тунель викачує фотографії на сервер Elbuz?
Ні, у шаблоні тунелю завжди береться лише адреса зображення, а файл лишається на вашому хостингу. Викачування вмикає окрема послуга «Хмарне зберігання фото»: тоді знімки заливаються у хмару Elbuz, по двадцять паралельних завантажень.
Чи можна тунелем забрати замовлення, а не тільки товари?
Так, для цього є окрема галочка «Замовлення», і це відрізняє тунель від файлових форматів, які завжди лише про каталог. Але запит на замовлення зараз формують тільки OpenCart 2, OpenCart 3 і Magento — для решти CMS галочка нічого не забере. Подробиці про документ і статус — у розділі про замовлення.
Повторний запуск задвоїть товари?
Ні. Позиції зіставляються за ідентифікаторами з сайту, тож повторний перенос оновлює наявні картки. Разом з тим він і перезаписує їх даними сайту — що саме, розібрано в розділі про повторний перенос.
Дзеркальний режим прибрав потрібні товари — як повернути?
Кошика в програмі немає, відкотити видалення нічим. Робочий шлях один: полагодити віддачу на сайті й прогнати тунель ще раз без галочки видалення — картки створяться заново за тими самими ідентифікаторами сайту. Ручні правки, які ви робили в цих картках, не повернуться.
Чи зменшиться залишок від замовлень, які приїхали з сайту?
Ні. Документ «Замовлення покупця» створюється непроведеним, а залишок і резерв Elbuz рахує тільки по проведених документах. Поки документ не проведено, на наявність товарів він не впливає.
Підключив 1C-Bitrix, але товари не переносяться
Найімовірніше, не обрано інфоблок із товарами — для Bitrix це обов'язковий додатковий параметр. Перевірте його у формі шаблону після вибору CMS.

