Програма стоїть на вашому хостингу поруч із магазином і робить одну річ: бере дані постачальника й кладе їх у каталог. Нижче — що відбувається між цими двома точками.
Звідки беруться дані
Джерело — прайс-лист постачальника: посилання на XML чи YML, файл CSV, книга Excel. Якщо прайсу немає зовсім, дані збираються зі сторінок сайту постачальника — це окрема робота, про неї є свій запис.
Скільки позицій програма подужає за раз, вирішує не вона, а пам’ять вашого хостингу: на розбір прайсу йде приблизно втричі більше, ніж важить файл. За 128 МБ це прайс тисяч на тридцять позицій, за 256 МБ — удвічі більше. Найдорожче обходиться Excel: книга читається цілком.
Що відбувається з товаром дорогою
Прочитана позиція йде конвеєром, і на кожному кроці її може змінити плагін:
- ціна — коефіцієнт за категорією, знижка, фіксована ціна за артикулом, округлення;
- тексти — заміна фраз у назві й описі, приведення значень характеристик до спільного вигляду;
- картинки — підтягнути зображення, на які посилається опис, привести фото до одного розміру, накласти знак;
- мета-теги — заголовок, опис і ключові слова за маскою, своєю для кожної категорії.
Саме ядро товарних функцій не має: усе перелічене роблять плагіни, і кожен вмикається окремо. Що саме є — у розділі Плагіни.
Як дані потрапляють у магазин
Писати в чужу базу навмання не можна: у кожного рушія своя схема таблиць. Тому за запис відповідає драйвер магазину — окремий клас, який знає таблиці саме цієї CMS, і більше про них не знає ніхто. Зараз написані драйвери для OpenCart 2 і 3, WooCommerce, Shop-Script 8…12 та Joomla JoomShopping. Платформам, у які не можна писати напряму, програма віддає YML-фід — його вони імпортують самі.
Другий запуск і всі наступні
Перший імпорт заводить товари, далі працює оновлення: за розкладом програма знову читає прайс і змінює те, що змінилося, — ціну, залишок, нові позиції.
Товар, що зник із прайсу, не видаляється, а ховається. Повернеться у прайс — повернеться й у вітрину разом зі своєю адресою, відгуками та статистикою. Видаляти таке — означає втрачати сторінку, яка вже щось набрала в пошуку.
Розклад у кожного постачальника свій: тому, хто оновлює прайс двічі на добу, щогодинні перевірки ні до чого.
Що потрібно від хостингу
PHP 8.1 або новіший, доступ до бази магазину й одне cron-завдання. Підійде звичайний shared-хостинг; налаштування cron входить у встановлення.
Подивитися, як це виглядає на екрані, можна в демо. Хочете перевірити на своєму прайсі — надішліть посилання, покажемо 20 ваших товарів у тому вигляді, в якому вони потраплять у магазин.