Elbuz Tunnel дозволяє вирішити, що саме і як писати в базу сайту: які поля оновлювати, що показувати для кожного статусу наявності і куди класти значення нестандартних полів — здебільшого без жодного рядка SQL.
Коли це знадобиться:
- Опис правлять прямо на сайті — зніміть «Оновлювати» в рядку поля, і тунель його не чіпатиме.
- Статуси на сайті називаються інакше — «Назва на сайті (у файлі)» зіставить їх зі статусами Elbuz.
- На 1C-Bitrix потрібен артикул у властивості товару — «Додаткові параметри» покладуть туди поле каталогу.
- На сайт має йти РРЦ, якщо вона є — колонка «Формула» запише на сайт вираз замість значення.
З чого почати: картка тунельного шаблону → секція «Додатково».
Що вміють тонкі налаштування тунелю
- Статуси наявності — кількість, активність і назва статусу на сайті.
- Нестандартні поля без SQL — властивості й типи цін сайту з полів каталогу.
- Поле за полем — що не оновлювати і де записати формулу.
- Власні SQL-запити — коли без них не обійтися.
Де це і хто має доступ
- Меню
- Довідники → Операції → Вивантаження даних → картка шаблону Elbuz Tunnel
- Інші входи
- секція «Додатково» картки шаблону
- Право доступу
- картка шаблону; «Налаштування SQL запитів» — окреме право
- Підготувати
- підключений до сайту тунельний шаблон
Вікна секції «Додатково» окремих прав не мають: хто відкрив картку шаблону, той відкриє і «Налаштування оновлення за наявністю товару», «Налаштування вивантаження полів», «Налаштування вивантаження фото», «Додаткові параметри» та «Генератор описів».
Окремі права мають тільки «Налаштування SQL запитів» і «Відновлення БД сайту»: обидві операції необоротні, і право перевіряється не лише при відкритті вікна, а й на самій дії.
Які вікна є в секції «Додатково»
Секція «Додатково» — сім кнопок, кожна відкриває своє вікно. Восьма, «Налаштування вивантаження фото», зʼявляється поруч, щойно ви поставите прапорець «Фото». Три кнопки є тільки в тунелі: «Додаткові параметри», «Налаштування SQL запитів» і «Відновлення БД сайту» (про нього — окремий розділ). У четвертої, «Налаштування оновлення за наявністю товару», у тунелі зʼявляється блок, якого у фідів немає.
1
«Налаштування оновлення за наявністю товару»2
«Додаткові параметри»3
«Налаштування SQL запитів»4
«Відновлення БД сайту»- «Налаштування оновлення за наявністю товару» відкриває правила показу статусів наявності для тунелю.
- «Додаткові параметри» — довільні параметри запиту до сайту.
- «Налаштування SQL запитів» — власні SQL-запити для вивантаження.
- «Відновлення БД сайту» відкриває список архівних копій бази.
«Налаштування вивантаження фото» (тека на хостингу для файлів, кількість потоків), «Генератор описів» і «Налаштування розкладу» працюють так само, як у решти типів вивантаження.
Що бачить сайт для кожного статусу наявності
Тут кожному статусу наявності з вашого каталогу задають, що писати на сайт: кількість, активність товару і «Назва на сайті (у файлі)». Знята галочка «Активність налаштування» у рядку означає «нічого не підміняти» — кількість і активність поїдуть такими, як стоять у картці товару.
Поле «Назва на сайті (у файлі)» потрібне, коли назви статусів на сайті й у Elbuz різні. Прив’язка до довідника статусів сайту працює тільки для OpenCart усіх трьох версій: там програма шукає статус у таблиці сайту — за вашою назвою, якщо поле порожнє, або за вписаною, якщо заповнене.
Для решти CMS довідник статусів не чіпається, але значення все одно підставляється замість назви статусу в даних, що їдуть на сайт.
Що робити з товарами, яких на сайті є, а в цей прогін не потрапили, — окреме правило під таблицею: як вимкнути на сайті товари, яких немає у вивантаженні.
Як покласти значення в нестандартне поле сайту без SQL
Підказка кнопки — «Вибір об’єктів для обміну даними з сайтом». Вікно показує те, що є на вашому сайті: магазини (склади), мови, категорії, блоки, опції товарів, блоки атрибутів, атрибути товарів, ціни торговельного каталогу й параметри.
Список не вигадується, а читається з бази сайту кнопкою-хмаринкою у верхньому рядку вікна (підказка «Оновити список об’єктів»); галочкою ви позначаєте те, що бере участь в обміні. Сусідня кнопка-кошик (підказка «Очистити список об’єктів») стирає перелік, щоб перечитати його заново. Підписів у цих двох кнопок немає — тільки іконки.
Тут же роблять те, за чим інакше довелося б писати SQL: навпроти об’єкта сайту вказують поле базового каталогу, значення якого туди їхатиме. Для 1C-Bitrix так заповнюють властивості товару — наприклад у властивість «Артикул» на сайті кладуть «Артикул виробника» з Elbuz.
Так само зіставляють типи цін: знаходите ціну, прочитану з сайту, і вказуєте, з якого цінового поля Elbuz її брати. У тому ж полі можна написати вираз — скажімо, помножити ціну на курс валюти.
Завдання «покласти значення поля Elbuz у нестандартне поле сайту» майже завжди вирішується тут, без жодного рядка SQL. У «Налаштування SQL запитів» має сенс іти тоді, коли потрібного об’єкта в цьому списку немає або потрібна складніша логіка.
Як не оновлювати окреме поле або записати формулу
Таблиця відповідності «поле каталогу → поле бази сайту». Колонка «Оновлювати» вимикає окреме поле: не хочете, щоб тунель чіпав на сайті опис, — зніміть галочку, і опис залишиться таким, як його правили на сайті.
Колонка «Формула» дозволяє записати на сайт не саме значення, а вираз. Пишуть його мовою MySQL, а поля тимчасової таблиці згадують з приставкою etrade_temp.:
IF(etrade_temp.price_rrp > 0, etrade_temp.price_rrp, etrade_temp.price) — «якщо РРЦ заповнена, віддай на сайт її, інакше звичайну ціну». Так само підставляють і власні поля базового каталогу: їхні імена мають вигляд etrade_temp.product_f451, а номер поля видно в налаштуванні колонок сітки базового каталогу.
Формула застосовується тільки при оновленні вже наявних на сайті записів. Товар, який цим прогоном створюється вперше, отримає звичайне значення поля — формулу до нього не застосують. Тому перевіряти формулу на щойно доданих товарах марно: подивіться на тих, що вже є на сайті. І ще: якщо в тому самому рядку заповнене фіксоване значення, воно старше за формулу — формула буде проігнорована.
Коли потрібні власні SQL-запити
Три вкладки: «Після оновлення» (відкрита першою), «Перед оновленням» і «Відкрити посилання» — останнє поле підписане «Відкрити посилання або виконати скрипт PHP (запуск після оновлення)» і потрібне, щоб після прогону смикнути на сайті, наприклад, скидання кеша. Посилання чи скрипт запускається тільки тоді, коли заливка на сайт пройшла успішно. Запити виконуються в базі сайту.
Сюди приходять у двох випадках: коли типового оновлення не вистачає (переписати ЧПУ наявних товарів, заповнити нестандартне поле) і коли вашої CMS у списку немає й усе злиття пишеться руками. Обидва розібрані окремо — оновлення сайту власними SQL-запитами: тимчасові таблиці, розділювач ;;;, готові приклади запитів.
Сценарії
Опис товару правлять прямо на сайті
Що зробити. Відкрийте «Налаштування вивантаження полів» і зніміть «Оновлювати» в рядку опису.
Що вийде. Опис на сайті лишиться таким, як його правили в адмінці сайту. Чого не буде. Решта полів оновлюватиметься, як і раніше.
1C-Bitrix: артикул виробника у властивість «Артикул»
Що зробити. Відкрийте «Додаткові параметри», кнопкою-хмаринкою «Оновити список об’єктів» прочитайте об’єкти сайту й навпроти властивості «Артикул» вкажіть поле «Артикул виробника».
Що вийде. Значення поля Elbuz поїде у властивість товару на сайті. Чого не буде. SQL-запит для цього не потрібен.
На сайт має їхати справжня кількість із картки товару
Що зробити. У «Налаштуваннях оновлення за наявністю товару» зніміть «Активність налаштування» у всіх статусів.
Що вийде. Кількість і активність поїдуть такими, як стоять у картці товару. Чого не буде. Підміни кількості за статусом наявності.
Що робити, коли поле не доїхало на сайт
| Що ви бачите | Чому так | Що зробити |
|---|---|---|
| Поля для SEO заповнені, а H1 і Meta title на сайт не приїхали | У CMS цих полів може не бути взагалі — тоді їх немає і в налаштуваннях вивантаження полів | Перевірте, чи є ці поля в таблицях сайту. Якщо є, але в списку полів їх немає, оновіть їх власним SQL-запитом (про запити) |
| Для 1С-Bitrix треба вивантажити виробника або артикул, а поля для них немає | У Bitrix це не поля товару, а його властивості | Робиться це у вікні «Додаткові параметри»: навпроти властивості сайту вказують поле каталогу, звідки брати значення (як саме) |
| Треба оновити на сайті дані з додаткового поля каталогу, а в списку полів його немає | Додаткові поля в стандартний перелік не входять | Спершу подивіться у «Додаткові параметри»: якщо потрібний об'єкт сайту там є, поле вказують навпроти нього без жодного SQL. Немає об'єкта — тоді SQL-запит до таблиці сайту (про запити) |
| На сайт їде не та кількість, що в картці товару | Так і задумано: за замовчуванням кількість на сайті визначає статус наявності, а не залишок. Тунель переписує кількість і активність за налаштуваннями наявності шаблону | Відкрийте «Налаштування оновлення за наявністю товару» в картці шаблону й зніміть «Активність налаштування» у всіх статусів — тоді поїде справжня кількість із картки |
Часті запитання
Формула в «Налаштуванні вивантаження полів» не спрацювала на нових товарах. Чому?
Формула застосовується тільки при оновленні записів, які вже є на сайті. Товар, створений цим прогоном, отримує звичайне значення поля. І якщо в рядку заповнене фіксоване значення, формулу буде проігноровано.
Як звернутися у формулі до власного поля каталогу?
Через приставку etrade_temp. і номер поля, наприклад etrade_temp.product_f451. Номер видно в налаштуванні колонок сітки базового каталогу.
Назва статусу на сайті не збігається з Elbuz. Що робити?
Впишіть її в «Назва на сайті (у файлі)». Для OpenCart програма знайде статус у довіднику сайту за цією назвою; для інших CMS значення просто підставиться замість назви статусу.
Чому вікно «Додаткові параметри» порожнє?
Список не вигадується, а читається з бази сайту. Натисніть кнопку-хмаринку «Оновити список об’єктів» у верхньому рядку вікна.
Хто з працівників може змінювати ці налаштування?
Кожен, хто має право на картку шаблону. Окремі права є тільки в «Налаштування SQL запитів» і «Відновлення БД сайту».
Суміжні теми
- Якщо потрібна загальна картина тунелю — Як вивантажувати товари в базу свого сайту.
- Якщо без запитів не обійтися — Оновлення сайту власними SQL-запитами.
- Якщо треба вибрати, які дані взагалі поїдуть, — Що поїде на сайт через Elbuz Tunnel.
- Якщо товари, яких немає у вивантаженні, треба погасити — Як прибрати із сайту товари, яких немає в каталозі.

