Як налаштувати поля, статуси й дані сайту в Elbuz Tunnel

7 хв

Elbuz Tunnel дозволяє вирішити, що саме і як писати в базу сайту: які поля оновлювати, що показувати для кожного статусу наявності і куди класти значення нестандартних полів — здебільшого без жодного рядка SQL.

Коли це знадобиться:

  • Опис правлять прямо на сайті — зніміть «Оновлювати» в рядку поля, і тунель його не чіпатиме.
  • Статуси на сайті називаються інакше — «Назва на сайті (у файлі)» зіставить їх зі статусами Elbuz.
  • На 1C-Bitrix потрібен артикул у властивості товару — «Додаткові параметри» покладуть туди поле каталогу.
  • На сайт має йти РРЦ, якщо вона є — колонка «Формула» запише на сайт вираз замість значення.

З чого почати: картка тунельного шаблону → секція «Додатково».

Що вміють тонкі налаштування тунелю

Де це і хто має доступ

Меню
Довідники → Операції → Вивантаження даних → картка шаблону Elbuz Tunnel
Інші входи
секція «Додатково» картки шаблону
Право доступу
картка шаблону; «Налаштування SQL запитів» — окреме право
Підготувати
підключений до сайту тунельний шаблон

Вікна секції «Додатково» окремих прав не мають: хто відкрив картку шаблону, той відкриє і «Налаштування оновлення за наявністю товару», «Налаштування вивантаження полів», «Налаштування вивантаження фото», «Додаткові параметри» та «Генератор описів».

Окремі права мають тільки «Налаштування SQL запитів» і «Відновлення БД сайту»: обидві операції необоротні, і право перевіряється не лише при відкритті вікна, а й на самій дії.

Які вікна є в секції «Додатково»

Секція «Додатково» — сім кнопок, кожна відкриває своє вікно. Восьма, «Налаштування вивантаження фото», зʼявляється поруч, щойно ви поставите прапорець «Фото». Три кнопки є тільки в тунелі: «Додаткові параметри», «Налаштування SQL запитів» і «Відновлення БД сайту» (про нього — окремий розділ). У четвертої, «Налаштування оновлення за наявністю товару», у тунелі зʼявляється блок, якого у фідів немає.

Колонка кнопок секції «Додатково»
1«Налаштування оновлення за наявністю товару»
2«Додаткові параметри»
3«Налаштування SQL запитів»
4«Відновлення БД сайту»
  1. «Налаштування оновлення за наявністю товару» відкриває правила показу статусів наявності для тунелю.
  2. «Додаткові параметри» — довільні параметри запиту до сайту.
  3. «Налаштування SQL запитів» — власні SQL-запити для вивантаження.
  4. «Відновлення БД сайту» відкриває список архівних копій бази.

«Налаштування вивантаження фото» (тека на хостингу для файлів, кількість потоків), «Генератор описів» і «Налаштування розкладу» працюють так само, як у решти типів вивантаження.

Що бачить сайт для кожного статусу наявності

Тут кожному статусу наявності з вашого каталогу задають, що писати на сайт: кількість, активність товару і «Назва на сайті (у файлі)». Знята галочка «Активність налаштування» у рядку означає «нічого не підміняти» — кількість і активність поїдуть такими, як стоять у картці товару.

Поле «Назва на сайті (у файлі)» потрібне, коли назви статусів на сайті й у 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 запитів» і «Відновлення БД сайту».

Суміжні теми

Чи була стаття корисною?