Як прибрати із сайту товари, яких немає в каталозі

6 хв

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

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

  • Товар зник з асортименту — правило «якщо товару немає у розвантаженні» вимкне його на сайті й поставить залишок 0.
  • На сайті висять товари, яких давно немає в каталозі — для OpenCart 3 «Видаляти, якщо немає у вивантаженні» прибере їх наприкінці прогону.
  • Товар видалили в каталозі — з «Видаляти дані відразу на сайті» він зникне із сайту без прогону.

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

Що вміє прибирання сайту

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

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

Видалення на сайті

Згорнута секція «Вибір даних для видалення на сайті». Тут дванадцять прапорців за сутностями — «Категорії», «Товари», «Виробники», «Фото», «Атрибути», «Опції», «Мови», «Магазини», «Склади», «Замовлення», «Статті», «Відгуки» — і перемикач «Видаляти дані відразу на сайті». Для OpenCart 3 під ним є ще другий — «Видаляти, якщо немає у вивантаженні».

Розгорнута секція «Вибір даних для видалення на сайті»
1«Видаляти дані відразу на сайті»
2«Видаляти, якщо немає у вивантаженні»
3Кнопка «Очистити прапор видалення»
  1. «Видаляти дані відразу на сайті» вмикає негайне видалення без підтвердження.
  2. «Видаляти, якщо немає у вивантаженні» видаляє на сайті те, чого немає у поточному фіді.
  3. Кнопка «Очистити прапор видалення» скидає позначки на видалення без запуску вивантаження.

Поки не стоїть жоден із дванадцяти прапорців, програма на сайті не видаляє нічого. Це перше, що програма перевіряє перед будь-яким видаленням; забути «вимкнути видалення» не можна, бо за замовчуванням воно вимкнене.

  • «Видаляти дані відразу на сайті» — видалення без вивантаження. Підказка каже прямо: «Наприклад, при видаленні товару в базовому каталозі, він буде моментально вилучений на сайті». Тобто ви прибрали рядок у сітці каталогу — і картка на сайті зникає одразу, без запуску вивантаження. Працює тільки для ввімкнених шаблонів.
  • «Видаляти, якщо немає у вивантаженні» — «Якщо у даних, що вивантажуються, немає елемента, який є на сайті, тоді його буде видалено з сайту».

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

Третя кнопка секції — «Очистити прапор видалення», підказка «Очистити прапорець видалення для повторного видалення позицій на сайті». Вона потрібна, коли позиції вже видалили в Elbuz, вивантаження чомусь не дійшло до сайту, а повторити видалення нічим: журнал видалених позицій уже позначений як опрацьований. Після натискання зʼявиться повідомлення «Журнал віддалених позицій готовий до вивантаження!», і наступний прогін видалить їх ще раз.

Як вимкнути на сайті товари, яких немає у вивантаженні

Де: секція «Додатково» → «Налаштування оновлення за наявністю товару», блок під таблицею статусів.

Тільки в тунелі під таблицею зʼявляється блок «якщо товару немає у розвантаженні» з галочкою «Активний» і полем «Кількість». Це правило про товари, які на сайті вже є, а в цю відправку не потрапили.

Поки в полі «Кількість» стоїть значення -100, правило вимкнене й програма таких товарів не чіпає. Варто поставити будь-яке інше число — і кожному товару сайту, якого не було у відправці, проставиться вказаний стан і залишок.

Вікно «Налаштування оновлення за наявністю товару» з блоком «якщо товару немає» і таблицею статусів
1Поле «Кількість» зі значенням -100
2Галочка «Активний»
3Колонка «Активність товару на сайті»
  1. Значення -100 означає, що правило «якщо товару немає у розвантаженні» вимкнене.
  2. Галочка «Активний» вмикає це правило.
  3. Колонка «Активність товару на сайті» в таблиці нижче керує видимістю товару на сайті для кожного статусу.

Типовий випадок — ви вивантажуєте лише те, що в наявності: товарам, яких у відправці не було, можна проставити свою кількість і зняти активність, щоб на сайті вони не висіли доступними. Правило працює для OpenCart усіх трьох версій, 1C-Bitrix, CS-Cart, Magento, PrestaShop і WebAsyst Shop-Script; для WooCommerce і режиму «MySQL (SQL custom query)» його немає.

Правило не поєднується з «Вивантажувати лише нові дані»: перший відправляє тільки змінені товари, друге вимикає на сайті все, чого в цій відправці не було. Разом вони погасять увесь каталог сайту, крім кількох щойно оновлених позицій.

Сценарії

Товари, яких немає у вивантаженні, на сайті вимкнути, а не видаляти

Що зробити. У секції «Додатково» відкрийте «Налаштування оновлення за наявністю товару». У блоці «якщо товару немає у розвантаженні» зніміть «Активний» і впишіть у «Кількість» 0. На вкладці «Вивантаження» зніміть «Вивантажувати лише нові дані».

Що вийде. Після злиття кожен товар сайту, якого не було в цій відправці, отримує неактивний стан і залишок 0.

Чого не буде. Картки з сайту не видаляються — лише гаснуть. Поки в «Кількість» стоїть -100, правило вимкнене. Під правило потрапляють і товари, які ви завели прямо в адмінці сайту: у вивантаженні з Elbuz їх немає ніколи. Для WooCommerce, HostCMS і «MySQL (SQL custom query)» цього правила в програмі немає.

Прибрати із сайту товари, яких більше немає в каталозі

Що зробити. Сценарій для OpenCart 3. У секції «Вибір даних для видалення на сайті» відзначте «Товари» (за потреби — ще «Категорії» й «Виробники») і ввімкніть «Видаляти, якщо немає у вивантаженні». Зніміть «Вивантажувати лише нові дані». «Додатковий фільтр» у блоці «Обмеження вивантаження (фільтр)» має бути порожнім.

Що вийде. У кінці прогону з бази сайту видаляються товари, яких не було у вивантаженні, разом з їхніми описами, фото, привʼязками до категорій і магазинів.

Чого не буде. Якщо в «Додатковому фільтрі» задана хоч одна умова, прапорець нічого не видаляє. В інших CMS, крім OpenCart 3, «Видаляти, якщо немає у вивантаженні» не діє.

Кнопка «категоріям» і поле «Магазин» видалення не вимикають: товар сайту поза відзначеними категоріями чи поза обраним магазином теж вважається відсутнім у вивантаженні й буде видалений — так само, як і товар, заведений тільки в адмінці сайту.

Видалений у каталозі товар має зникнути із сайту без прогону

Що зробити. У секції «Вибір даних для видалення на сайті» відзначте «Товари» і ввімкніть «Видаляти дані відразу на сайті». Шаблон має бути ввімкнений — пілюля стану в шапці картки.

Що вийде. Видалення товару в базовому каталозі саме по собі, без запуску вивантаження, надсилає запит на видалення на кожен сайт, у шаблоні якого стоять ці два прапорці.

Чого не буде. Через вимкнений шаблон нічого не видаляється. Без прапорця «Товари» в секції видалення видалення товару на сайт не піде, навіть коли «Видаляти дані відразу на сайті» ввімкнено: прапорці сутностей діють окремо — для категорій потрібні «Категорії», для виробників «Виробники».

Що робити, коли видалення спрацювало не так

Що ви бачитеЧому такЩо зробити
«Журнал віддалених позицій готовий до вивантаження!» Натиснули «Очистити прапор видалення» Запустіть вивантаження — видалення на сайті повторяться (про видалення)
Після прогону на сайті згасли товари, заведені прямо в адмінці сайту Увімкнено правило «якщо товару немає у розвантаженні»: у вивантаженні з Elbuz таких товарів немає ніколи Поверніть у поле «Кількість» значення -100 — правило вимкнеться (про правило)
«Видаляти, якщо немає у вивантаженні» нічого не видалив У «Додатковому фільтрі» задана хоч одна умова, або сайт не на OpenCart 3 Очистіть «Додатковий фільтр». В інших CMS цей прапорець не діє — вимикайте товари правилом наявності

Часті запитання

Чи видалить тунель щось на сайті, якщо я нічого не вмикав?

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

Видалив товар у каталозі — коли він зникне із сайту?

З «Видаляти дані відразу на сайті» і відзначеним прапорцем «Товари» — одразу, без прогону, але тільки через увімкнений шаблон. Без прапорця «Товари» видалення товару на сайт не піде взагалі.

Для яких CMS працює правило «якщо товару немає у розвантаженні»?

Для OpenCart усіх трьох версій, 1C-Bitrix, CS-Cart, Magento, PrestaShop і WebAsyst Shop-Script. Для WooCommerce і режиму «MySQL (SQL custom query)» його немає.

Навіщо кнопка «Очистити прапор видалення»?

Вона знімає позначку «опрацьовано» з журналу видалених позицій, і наступний прогін видалить їх на сайті ще раз. Потрібна, коли позиції видалили в Elbuz, а видалення до сайту не дійшло.

Чи можна вмикати видалення разом із «Вивантажувати лише нові дані»?

Ні: у відправці буде лише жменя змінених позицій, а решта каталогу сайту вважатиметься зайвою. Вмикайте щось одне.

Суміжні теми

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