Market Feeds — Rozetka / Prom для OpenCart 2.3, 3.x і 4.x
Фіди Rozetka XML і Prom.ua YML для OpenCart 2.3, 3 і 4: токен-захищені URL, потокова генерація без перевантаження памʼяті, акційні ціни, фільтри категорій і cron-кеш. Повністю безкоштовно, код відкритий на GitHub.
Що включено в ліцензії
| Функція | Free |
|---|---|
| XML-фід для Rozetka і YML-фід для Prom.ua | ✔ |
| Два постійні URL-фіди, які маркетплейси забирають самі | ✔ |
| Захист фідів секретним токеном у посиланні | ✔ |
| Вибір категорій і товарів для вивантаження | ✔ |
| Актуальні ціни та залишки без ручного експорту | ✔ |
| Окремі збірки для OpenCart 4.0.2–4.1.x, 3.0.2–3.0.5.0 і 2.3.0.0–2.3.0.2 | ✔ |
| Безкоштовний | ✔ |
Market Feeds — модуль фідів для OpenCart 2.3, 3.x і 4.x, який вивантажує каталог магазину у два найпопулярніші українські маркетплейси: Rozetka (XML) і Prom.ua (YML). Замість ручного експорту чи самописних скриптів ви отримуєте два постійні URL-фіди, захищені секретним токеном — маркетплейси самі забирають актуальні товари, ціни й залишки за своїм розкладом. Генерація потокова, тому фід не «кладе» сервер навіть на великих каталогах.
Модуль повністю безкоштовний. Код відкритий: github.com/catcodestudio/opencart-market-feeds. Жодних платних версій, лімітів чи ліцензійних ключів — усі функції доступні одразу після встановлення.
Як це виглядає в адмінці


price + price_old), поріг залишку «в наявності» й вибір категорій — список показує повний шлях категорії, тож однойменні підкатегорії не плутаються.
parentId, а далі offer’и з ціною, валютою, наявністю, фотографіями й атрибутами. Генерація потокова (XMLWriter), тому великий каталог не з’їдає памʼять.Як це працює — крок за кроком
- Встановлюєте модуль і одним кліком генеруєте секретний токен доступу — без нього фід недоступний стороннім.
- Налаштовуєте вивантаження: валюта, мова, множник ціни, фільтри за категоріями та виробниками (порожньо = весь каталог).
- Копіюєте готові URL фідів зі сторінки налаштувань — окремо для Rozetka (
feed.rozetka) і Prom.ua (feed.prom). - Вставляєте посилання у кабінетах маркетплейсів — Rozetka і Prom.ua самі періодично читають фід і оновлюють товари, ціни та залишки.
- Акції підхоплюються автоматично: якщо на товар діє спецціна, вона стає
<price>, а звичайна ціна —<price_old>(маркетплейс показує знижку). - Для великих каталогів вмикаєте файловий кеш: фід перебудовується кроном у фоні й віддається маркетплейсу миттєво.
Скільки коштує
Безкоштовно. Код відкритий на GitHub — catcodestudio/opencart-market-feeds, розширення також опубліковане на офіційному маркетплейсі OpenCart. Без Pro-версії, без підписок, без обмежень за кількістю товарів.
Технічні вимоги
- OpenCart 4.0.2 – 4.1.x, 3.0.2 – 3.0.5.0 або 2.3.0.0 – 2.3.0.2 — для кожної гілки окрема збірка
- PHP 8.0+ для OpenCart 4, 7.x для OpenCart 3 і 5.6+ для 2.3 — у всіх випадках з розширенням XMLWriter, стандартним для більшості хостингів
- Акаунт продавця на Rozetka та/або Prom.ua — щоб додати URL фіду в кабінеті маркетплейсу
- Для файлового кешу (опційно) — можливість запускати cron на хостингу
Що під капотом
- Потокова генерація через XMLWriter — товари вибираються посторінково, зображення, атрибути й акції підвантажуються батчами. Стабільне споживання памʼяті незалежно від розміру каталогу.
- Токен-захист URL — фід віддається лише із секретним параметром
token; згенерувати новий можна одним кліком в адмінці. - Акційні ціни через рідну механіку кожної гілки —
product_discountв OpenCart 4.1, окремаproduct_specialу 4.0, 3.x і 2.3; схема визначається автоматично. - Правильні теги залишків для кожної платформи: Rozetka отримує
stock_quantity, Prom —quantity_in_stock, плюс налаштовуваний поріг «в наявності». - Cron-кеш у файл — маршрут
extension/cc_feeds/cron.rebuildперебудовує фід за розкладом; кнопка «Перевірити» в адмінці показує, скільки товарів потрапить у вивантаження.
Як встановити
- Візьміть збірку під свою версію магазину:
cc_feeds.ocmod.zip(OpenCart 4.0.2–4.1.x),cc_feeds-oc3.ocmod.zip(3.0.2–3.0.5.0) абоcc_feeds-oc2.ocmod.zip(2.3.0.0–2.3.0.2). - В OpenCart 3 і 4 архів ставиться через Розширення → Інсталятор. У 2.3 штатний інсталятор працює лише по FTP, тому надійніше розпакувати архів і залити вміст теки
upload/у корінь магазину. - Розширення → Модулі → знайдіть Market Feeds (Rozetka / Prom) → Встановити → Налаштувати.
- Згенеруйте токен, оберіть валюту, мову й фільтри → Зберегти.
- Скопіюйте URL фідів із секції «Посилання на фіди».
- Додайте посилання у кабінетах Rozetka і Prom.ua як джерело імпорту товарів.
- Опційно: увімкніть «Кешувати у файл» і додайте cron-задачу на перебудову кешу — готовий рядок показано на сторінці налаштувань (в OpenCart 2.3 це єдиний спосіб оновлювати кеш, бо планувальника в ядрі немає).
Історія версій
- 1.0.1 (OpenCart 2.3)
- Токен фідів зі спецсимволом (&, лапки) більше не відкидається: у 2.3
Request::clean()проганяєhtmlspecialcharsі по$_GET, тому Rozetka/Prom отримували 403 на правильному токені. Тепер значення декодується один раз, як і при збереженні в адмінці. - 1.1.1 — 9 серпня 2026 (OpenCart 3)
- У підказках адмінки теги
<price>,<price_old>і<param>були написані без екранування, тому браузер їх ковтав і речення «Якщо у товару діє акція — вона стає , а звичайна ціна — .» виглядало обірваним. Той самий дефект виправили в збірці для OpenCart 4 ще у версії 1.0.2, але в порт під OpenCart 3 він не доїхав. Заразом підказка про кеш більше не називає маршрут планувальника, якого в 3.x немає — на сторінці й так показано готовий cron-URL. - 1.0.0 — 9 серпня 2026 (OpenCart 2.3)
- Збірка під OpenCart 2.3.0.x — порт напряму з 4.x, проміжної 3.x-версії цей модуль не проходив. Той самий набір налаштувань і той самий формат фідів; кеш оновлює системний crontab, бо планувальника в 2.3 немає. Три виправлення, знайдені під час порту — ціна з податком і валютою рівно як на вітрині, кеш-файл більше не завантажується повз токен, «Перевірити» рахує за фільтром наявності — одразу увійшли й у збірки для OpenCart 3 і 4 версії 1.1.0.
- 1.1.0 — 9 серпня 2026 (OpenCart 3 і 4)
- 🔴 Ціна у фіді не збігалася з ціною на сайті — з двох причин одразу. По-перше, податок не додавався взагалі: товар, який вітрина показує за 122 грн, у прайс ішов як 100. По-друге, поле «Валюта» було просто підписом тега — магазин із базовою валютою USD віддавав доларові числа з написом
UAH. Тепер ціна проходить рівно той самий шлях, що й на сторінці товару: податок за правилами магазину, потім курс валюти, і лише потім ваш множник. Валюту за замовчуванням виставлено на «валюта магазину».
🔴 Кешований файл фіду можна було завантажити повз токен. Тека кешу не завжди лежить поза коренем сайту, а nginx віддає статичні файли не заглядаючи в.htaccess— тобто прямий запит до файлу віддавав увесь каталог без жодної перевірки. Тепер імʼя файлу містить дайджест токена, а зміна токена, вимкнення фіду й видалення модуля прибирають старі копії.
Кнопка «Перевірити» більше не завищує кількість: раніше вона ігнорувала фільтр наявності й обіцяла більше товарів, ніж реально потрапляло у фід. - 1.0.2 — 5 серпня 2026
- 🔴 Акції не потрапляли у фід на OpenCart 4.0.x. У 4.1 акції лежать у
product_discountз прапорцемspecial, а в 4.0 — в окремій таблиціproduct_special; запит писався під 4.1, тож на 4.0 падав на неіснуючій колонці. Тепер схема визначається автоматично.
🔴 Сторінка налаштувань не відкривалась на OpenCart 4.0.x — обхід дерева категорій черезfilter_parent_id, який 4.0 ігнорує, повертав увесь каталог на кожному рівні й вичерпував памʼять. Категорії тепер тягнуться одним плоским запитом із повним шляхом у назві.
Дрібне: у підказках адмінки теги<price>,<price_old>і<param>були написані без екранування, тому браузер їх ковтав і речення виглядало обірваним.
Заразом акційна ціна береться лише з рядківquantity = 1— точно як на вітрині, щоб ціна у фіді не розходилась із ціною на сайті. - 1.0.1 — липень 2026
- Виправлено адмін-AJAX: Twig екранував
&в URL запитів, через що кнопки «Перевірити» та «Перебудувати кеш» не працювали в частині збірок OpenCart. - 1.0.0 — липень 2026
- Перший публічний реліз: фіди Rozetka XML і Prom.ua YML, токен-захищені URL, потокова генерація XMLWriter, фільтри категорій і виробників, множник ціни, акційні ціни (
price+price_old), атрибути як<param>, налаштування опису й кількості фото, файловий кеш із cron.
Часті питання
Чи потрібні API-ключі Rozetka або Prom?
Ні. Фід — це URL, який маркетплейс читає сам. Єдиний «ключ» — секретний токен, який модуль генерує для захисту фіду від сторонніх.
У мене великий каталог — фід не покладе сервер?
Ні. Генерація потокова (XMLWriter, посторінкова вибірка, батч-підвантаження зображень і атрибутів), а для найбільших каталогів є файловий кеш із перебудовою кроном — маркетплейс отримує готовий файл миттєво.
Чи можна вивантажити лише частину каталогу?
Так: фільтри за категоріями та виробниками, поріг залишку «в наявності» та окреме налаштування — вивантажувати чи ні товари, яких немає в наявності.
Що з акційними цінами?
Якщо на товар діє акція, у фід іде акційна ціна як <price> плюс стара ціна як <price_old> — маркетплейс покаже знижку. Це вмикається одним перемикачем.
Чи змінює модуль тему або checkout?
Ні. Модуль додає лише сторінку налаштувань в адмінці та службові маршрути фідів — вітрина й оформлення замовлення не зачіпаються.
Одна збірка на всі версії OpenCart?
Ні, це три окремі порти в одному комплекті: cc_feeds.ocmod.zip для 4.0.2–4.1.x, cc_feeds-oc3.ocmod.zip для 3.0.2–3.0.5.0 і cc_feeds-oc2.ocmod.zip для 2.3.0.0–2.3.0.2. Набір налаштувань і формат фідів однакові.
Це точно безкоштовно? Де підступ?
Підступу немає: усі функції відкриті, код опублікований на GitHub. Немає Pro-версії, прихованих лімітів чи платних «розблокувань».
Питання щодо модуля?
Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.
Поки що жодного відгуку. Будь першим — нижче.
Залишити відгук
Відгук модерується перед публікацією — це звичайно займає до 24 годин.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Поставити питання
Зазвичай відповідаємо протягом 24 годин у робочий час.
Купівля модуля
—