Пов’язані товари як опції для OpenCart
Модуль протестовано на OpenCart 3.x. Робота на інших версіях не гарантується.
Продаж та технічна підтримка модуля для інтернет-магазинів на території РФ та РБ не здійснюються.
Код модуля не зашифровано, без ionCube чи обфускації. Ви зможете вільно переглядати та змінювати код.
Модуль Linked Products as Options об’єднує окремі картки варіантів товару в логічні групи та показує переходи між ними у вигляді звичних опцій. Покупець може вибрати колір, розмір, обсяг пам’яті, матеріал або іншу характеристику, але кожен варіант залишається окремим товаром із власною URL-адресою, ціною, акцією, залишком, моделлю, зображенням і SEO-даними.
Такий підхід підходить магазинам, у яких різні кольори, розміри або комплектації вже створені як окремі товари. Модуль не замінює і не змінює стандартні опції OpenCart: він додає окремий механізм зв’язування повноцінних карток товарів.
Передбачена інтеграція зі стандартним шаблоном OpenCart, а також окремі адаптації для OCTemplates Promo і OCTemplates Deals.
Як працює модуль
Адміністратор вибирає одне зі стандартних полів OpenCart як мітку товарної групи: UPC, EAN, JAN, ISBN або MPN. Товари з однаковим непорожнім значенням вибраного поля автоматично потрапляють до однієї групи.
Після цього в модулі створюються типи опцій, наприклад «Колір», «Розмір», «Обсяг пам’яті», «Матеріал» або будь-який інший потрібний магазину варіант. Для кожного типу можна вибрати одну або декілька характеристик товару. Якщо характеристик декілька, модуль перевіряє їх у заданому порядку та використовує перше непорожнє значення.
Після синхронізації на сторінці товару з’являються доступні варіанти групи. Натискання на значення відкриває відповідну картку товару, тому для кожного варіанта зберігаються його власні дані, адреса сторінки та поведінка стандартного товару OpenCart.
Що вміє модуль
- Автоматично групувати товари за полем UPC, EAN, JAN, ISBN або MPN
- Працювати тільки з точним збігом непорожньої мітки групи
- Створювати необхідну кількість типів опцій
- Отримувати значення опцій із характеристик товарів
- Використовувати декілька характеристик для одного типу опції з урахуванням пріоритету
- Показувати значення як текстові кнопки, HEX-кольори або зображення товарів
- Налаштовувати декілька кольорів для одного значення
- Налаштовувати порядок сортування значень
- Створювати повністю ручні групи товарів
- Включати або виключати товари з автоматичної групи
- Задавати ручне значення опції для конкретного товару
- Керувати відображенням товарів, яких немає в наявності
- Індексувати великі каталоги пакетами через CRON
- Автоматично додавати змінені товари до черги індексації через Events OpenCart
- Формувати структуровані дані Schema.org для товарних варіантів
Мітка товарної групи
Для автоматичного зв’язування використовується одне зі стандартних полів картки товару. Поле вибирається в налаштуваннях модуля та повинно містити однакове значення в усіх варіантів однієї моделі.
- UPC — універсальний код товару
- EAN — європейський товарний код
- JAN — японський товарний код
- ISBN — міжнародний номер книжкового видання
- MPN — код моделі або групи, заданий виробником чи адміністратором
Наприклад, шість окремих карток Samsung Galaxy можуть мати різні моделі, кольори, обсяги пам’яті, ціни та залишки, але однаковий MPN групи. Після індексації модуль зв’яже їх та покаже колір і пам’ять як переходи між варіантами.
Типи опцій і характеристики
Назви типів опцій не обмежені наперед. Магазин самостійно створює потрібні варіанти відповідно до свого асортименту: колір, розмір, пам’ять, матеріал, фасон, довжина, комплектація або інша характеристика.
До одного типу опції можна прив’язати декілька характеристик. Це корисно, якщо в різних категоріях однаковий зміст зберігається під різними назвами, наприклад «Колір», «Колір корпусу» або «Основний колір». Порядок характеристик визначає пріоритет їх перевірки.
- Текст — значення показуються компактними кнопками
- Колір — значення показуються у вигляді HEX-палітри
- Зображення — використовується основне зображення відповідного товару
Модуль не створює окремі зображення значень. Для режиму «Зображення» використовується вже наявне основне зображення товару та налаштований у модулі розмір мініатюри.
HEX-палітра та сортування значень
Після індексації модуль збирає знайдені значення характеристик на окремій вкладці. Для кожного значення можна встановити порядок сортування, а для кольорів — один або декілька HEX-кодів.
Якщо значення складається з декількох кольорів, модуль формує багатоколірний зразок. Налаштовані HEX-коди та сортування зберігаються незалежно від поточного типу відображення. Перемикання опції з кольору на зображення і назад не видаляє раніше налаштовану палітру.
Відображення в картці товару
- Поточне значення опції виділяється та не є активним посиланням
- Текстові значення показуються як кнопки
- Кольори показуються у вигляді однотонних або багатоколірних зразків
- Для зображень використовується основне фото відповідного товару
- Назва товару в режимі зображення доступна при наведенні
- Товари не в наявності можуть бути показані, вимкнені або повністю приховані
- Недоступні значення мають окреме візуальне оформлення
Під час вибору значення покупець переходить на окрему сторінку відповідного товару. Модуль не підміняє ціну, залишок або зображення через JavaScript, тому картка завжди використовує актуальні стандартні дані OpenCart.
Ручні групи
Автоматичний режим можна доповнювати ручним керуванням. Для цього передбачена окрема сторінка зі списком усіх створених груп, фільтрацією, сортуванням і пагінацією.
- Пошук за назвою групи або її міткою
- Пошук групи за товаром, моделлю або SKU
- Фільтрація автоматичних, ручних і змішаних груп
- Створення нової ручної групи
- Додавання товарів через автодоповнення
- Ручне сортування товарів у групі
- Ручні значення опцій окремо для кожної мови
- Вимкнення окремої групи
- Блокування автоматичної групи
Ручне значення має пріоритет над автоматично отриманою характеристикою. Це дозволяє додати до групи товар із неповними даними, не змінюючи його стандартні характеристики.
Очищення груп
У модулі передбачено три окремі режими очищення:
- Автоматичні групи — очищення автоматичного індексу та груп, створених синхронізацією
- Ручні групи — видалення груп, створених адміністратором вручну
- Усі групи — повне очищення автоматичних і ручних груп модуля
Індексація та CRON
Для швидкої роботи на вітрині модуль попередньо створює власний індекс зв’язків. Дані обробляються пакетами, тому модуль можна використовувати у великих каталогах без тривалого запиту під час відкриття сторінки товару.
- Налаштовувана кількість товарів в одному пакеті
- Ручний запуск повної синхронізації з адміністративної частини
- Захищений секретним ключем URL для CRON
- Готова команда для crontab
- Відображення стану, прогресу та статистики індексації
Під час повної синхронізації чинний індекс продовжує працювати. Нове покоління даних стає активним тільки після успішного завершення перебудови. Покупці не бачать частково заповнені групи під час оновлення каталогу.
Автоматичне оновлення після змін товару
Модуль використовує стандартні Events OpenCart. Після додавання, редагування або видалення товару його ідентифікатор потрапляє до черги. Наступний запуск CRON оновлює тільки змінені товари та пов’язані з ними групи.
Прямі SQL-запити та деякі сторонні імпорти можуть не викликати Events OpenCart. Після масового прямого імпорту або зміни міток групи рекомендується виконати повну синхронізацію.
SEO та структуровані дані
Для кожного типу опції можна вибрати відповідну властивість Schema.org. Якщо властивість не вибрана, модуль не додає для цієї опції структуровані дані.
- ProductGroup — логічна група товарних варіантів
- productGroupID — мітка товарної групи
- hasVariant і isVariantOf — зв’язок групи з варіантами
- variesBy — перелік властивостей, за якими відрізняються товари
- color — колір
- size — розмір
- material — матеріал
- pattern — візерунок
- suggestedAge — рекомендований вік
- suggestedGender — рекомендована стать
- additionalProperty — інша характеристика товару
Для стандартного шаблону модуль формує власний блок структурованих даних. Адаптації OCTemplates Promo та Deals також інтегрують зв’язок варіанта у нативну мікророзмітку товару відповідної теми.
Продуктивність
- Окремі таблиці індексу з індексами для основних вибірок
- Пакетне завантаження характеристик товарів
- Пакетне додавання записів індексу
- Відсутність очищення активних даних до завершення повної синхронізації
- Інкрементальне оновлення змінених товарів
- Кешування налаштувань типів опцій стандартним кешем OpenCart
- Відсутність зовнішніх API-запитів на сторінці товару
Мультимовність і мультимагазин
Назви груп, назви типів опцій і ручні значення можна задавати окремо для кожної мови. Під час показу модуль враховує поточну мову та магазин OpenCart і не показує товари, які не прив’язані до поточного магазину.
Адміністративна частина модуля локалізована українською, англійською та російською мовами.
Інтеграція з шаблонами
- Default — підтримка входить до основного архіву
- OCTemplates Promo — окремий архів адаптації з власним Twig-шаблоном і CSS
- OCTemplates Deals — окремий архів адаптації з власним Twig-шаблоном і CSS
Для Promo або Deals потрібно встановлювати тільки адаптацію, яка відповідає активному шаблону. Основний модуль встановлюється в будь-якому випадку.
Відкритий код і незалежність
Код модуля не закодований і не обфускований. Усі PHP-, Twig-, JavaScript-, CSS- та XML-файли доступні для перегляду і редагування.
Модуль не звертається до сторонніх ресурсів, зовнішніх API або віддалених серверів і не потребує встановлення сторонніх бібліотек чи системних служб. Обробка товарів, побудова груп, кешування та формування блока варіантів виконуються безпосередньо на сайті.
Завдяки окремому Twig-шаблону, CSS-файлу та точковому підключенню через OCMOD модуль можна адаптувати до інших тем OpenCart без зміни його основної логіки. Для нестандартної картки товару зазвичай достатньо підготувати окрему адаптацію з відповідною точкою виведення та стилями активного шаблону.
Встановлення
- Виконайте чисте встановлення основного архіву через Extensions / Installer
- Якщо використовується OCTemplates Promo або Deals, завантажте відповідний архів адаптації
- Перейдіть у Extensions / Modifications та натисніть Refresh
- Перейдіть у Extensions / Extensions
- Виберіть тип розширень Modules / Модулі
- Знайдіть Linked Products as Options та натисніть Install
- Відкрийте налаштування модуля
- Виберіть поле мітки групи та створіть потрібні типи опцій
- Виконайте повну синхронізацію
- Додайте захищений URL до планувальника CRON
Модуль не змінює файли ядра OpenCart безпосередньо. Інтеграція виконується через стандартні Events OpenCart та OCMOD.
Важливі примітки
- Для автоматичного створення груп щонайменше два активні товари повинні мати однакове непорожнє значення вибраного поля UPC, EAN, JAN, ISBN або MPN.
- Після зміни поля мітки групи, складу характеристик або масового прямого імпорту потрібно виконати повну синхронізацію.
- Регулярний CRON обробляє чергу змінених товарів і продовжує незавершену повну синхронізацію. Для невеликого каталогу синхронізацію також можна запускати вручну з адміністративної частини.
- Видалення модуля через кнопку Uninstall видаляє створені ним таблиці, індекс, автоматичні та ручні групи, палітри й інші налаштування значень. Товари, характеристики та стандартні дані OpenCart не видаляються.
Ліцензія
Ліцензія поширюється на один домен і його піддомени.
ocStore 3.x
Англійська
Російська
Англійська
Російська
OCTemplates Promo
OCTemplates Deals
CyberStore
PHP 8.0-8.3
Немає відгуків про цей товар, станьте першим, залиште свій відгук.