Інструкції щодо роботи з платформою BooStore.pro

Назад
Підказки по роботі з системою ви можете знайти при розкритті розділів для їх управління, а також при наведенні на іконку

Коротко про платформу

Підприємцям та продавцям

Підприємцям та продавцям

На платформі BooStore.pro Ви можете безкоштовно створити сайт або інтернет-магазин, оформити індивідуальний дизайн, наповнювати його унікальним контентом (повна підтримка HTML). Ви зможете завантажувати файли та використовувати безліч вбудованих модулів для вашої зручності. У Вас буде власна статистика продажів, відстеження джерел замовлень, A/B тестинг, свої способи доставки, можливість створювати пошуковий фільтр (як на Яндекс Маркет) для різних груп товарів, створювати свої рубрики та рубрики-виробників, вести свій блог, новинну стрічку, збирати базу e-mail підписників, імпортувати/експортувати товари та послуги, додавати менеджерів на ваш сайт (спільний доступ), створювати базу клієнтів з індивідуальними знижками, використовувати платіжні системи, вивантажувати дані з сайту в xml форматі, створювати свої форми (Form), включити автоматичний обмін даними з ERP, торговими програмами та багато-багато іншого…

Підприємцям та продавцям

  • Після реєстрації вашого магазину ви зможете додати в нього до 300 товарів безкоштовно, при цьому можна розширити ліміт продуктів, що додаються. (Ліміт до 1000 продуктів можна збільшити безкоштовно)
  • У властивостях товару можна вказати його ціну, валюту для оплати, гарантійний термін, відповідального за гарантію, детальний опис, зображення товару, виробника, вкладки з додатковими опціями, індивідуальні характеристики товару та інше.
    • На BooStore.pro Ви можете самостійно сконструювати сайт вашої компанії або інтернет-магазин
    • Ви зможете створювати свої меню та необхідну кількість сторінок.
    • Ви зможете коригувати та змінювати дизайн вашого сайту.
    • Ви зможете розміщувати на сайті HTML коди
    • Ви зможете вести блоги та новинні стрічки, а також транслювати RSS стрічки.
    • Ви зможете завантажувати свої файли, відстежувати замовлення та спілкуватися з замовником прямо на сайті.

  • Підприємство/Користувач, що розмістив товар, несе самостійно відповідальність за вміст опису, цін та наявність товарів, а також за правдивість наданої ним інформації.
  • Забороняється додавати товари та послуги, що порушують законодавство вашої країни.

Відеоінструкції

Відеоінструкції

Структура платформи та приклади роботи з елементами

Як створювати сайт? Перші кроки та Приклад роботи з платформою

Як імпортувати товари?

Управління слайдером

Управління сайтом

Адмін-центр/Адмін-панель

Адміністрування сайту відбувається в Адмін-Центрі (Відкрити Адмін-центр) або через Адмін-панель, яка розташована зліва, після авторизації на сайті.

Вхід адміністратора

Шлях для входу адміністратора сайту:
boostore.pro/admin/
Якщо ви приховаєте меню авторизації на сайті, то для входу адміністратора достатньо ввести в адресному рядку шлях зазначений вище.
Приклад створення посилання для аутентифікації користувачів

Спільний доступ

Для того, щоб дозволити управління сайтом іншому користувачеві, вам необхідно додати Менеджера та задати права доступу.

Основні модулі

Типи даних/сторінок

📄

Сторінки

System Block

Сторінка — блок, що розташовується в центрі сайту, в області для контенту, який може містити будь-які HTML дані (HTML, XHTML, JAVASCRIPT, CSS або інші).



Ajax завантаження контенту сторінки.

Ajax завантаження контенту сторінки.



Посилання з класом ajax_load_page відкриватиме Ajax контент всередині блоку, заданого в атрибуті data-content-block.
Шлях до сторінки, що завантажується, задано в параметрі href.
Шлях до сторінки може бути відносним або повним, з http.
Ви також можете використовувати власні скрипти, передаючи GET або POST параметр p, з ім'ям
(або повною адресою) сторінки, за адресою /ajax.php

Крім того, можливе використання прямих запитів без використання Ajax.
Наприклад, для завантаження даних в iframe. Шлях такий же як і при використанні Ajax.

Скрипт завантаження даних у спливаючому вікні:
Скрипт спливаючого вікна із завантаженням Ajax контенту


📰

Каталог статей

Content Module

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

Списки статей можна відображати не тільки всередині категорій, але й генерувати власні списки.
Ajax завантаження контенту статті

Ajax завантаження контенту статті.



Посилання з класом ajax_load_blog відкриватиме Ajax контент всередині блоку, заданого в атрибуті data-content-block.
Шлях до сторінки, що завантажується, задано в параметрі href.
Шлях до сторінки може бути відносним або повним, з http.
Ви також можете використовувати власні скрипти, передаючи GET або POST параметр blog_cat_p, з повною адресою
статті, за адресою /ajax.php

Крім того, можливе використання прямих запитів без використання Ajax.
Наприклад, для завантаження даних в iframe. Шлях такий же як і при використанні Ajax.

Скрипт завантаження даних у спливаючому вікні:
Скрипт спливаючого вікна із завантаженням Ajax контенту

Приклад Ajax скрипта завантаження власного списку статей

Приклад Ajax завантаження статті у JSON форматі


📐

Блок / Меню

Layout Module

Блок/Меню — це універсальний контейнер для будь-яких HTML кодів і системних функцій (кошик, фільтр, хіти продажу). Дозволяє формувати структуру сайту, розміщувати скрипти в мета-тегах і керувати їхньою видимістю на різних пристроях.

Використовуйте Header і Footer для загальних елементів дизайну (логотип, контакти), а бічні або внутрішні блоки — для контентних модулів і скриптів.
Позиції розміщення:
  • Шапка сайту (Header): всередині елемента #hotengine-header, над контентом.
  • Низ сайту (Footer): всередині елемента #hotengine-footer, під контентом.
  • Зліва / Справа: бічні панелі біля основного блоку з контентом.
  • Вгорі / Внизу: всередині області контенту, у верхній або нижній частині.
  • Вгорі > cat_tree: позиція одразу під деревом категорій.
  • Службові теги (Header Meta): під Meta-тегами для вставки JavaScript і системних даних.
До всіх меню автоматично додається CSS-клас позиції та унікальний menu_id.

📋 Основна розмітка блоків сайту

Для розширеного мобільного меню використовуйте Конструктор мобільного меню.

Приклад використання блоків і меню

🛒

Магазин

E-commerce Module

Магазин — модуль для організації каталогу товарів з функціоналом замовлення. Підтримує сегментацію за виробниками, категоріями, типами та характеристиками.

Віджет з товарами

Списки можна вбудовувати в сторінки, блоки або статті через Генератор слайдерів. Приклад роботи віджета з товарами

Віджети категорій

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



Додавання товарів


Ajax завантаження товару

Ajax завантаження товару.



Посилання з класом ajax_load_shop відкриватиме Ajax контент всередині блоку, заданого в атрибуті data-content-block.
Шлях до сторінки, що завантажується, задано в параметрі href.
Шлях до сторінки може бути відносним або повним, з http.
Ви також можете використовувати власні скрипти, передаючи GET або POST параметр shop_cat_p, з повною адресою
товару, за адресою /ajax.php

Крім того, можливе використання прямих запитів без використання Ajax.
Наприклад, для завантаження даних в iframe. Шлях такий же як і при використанні Ajax.
Скрипти додавання товару в кошик потрібно підвантажувати додатково, якщо ви використовуєте iframe.

Скрипт завантаження даних у спливаючому вікні:
Скрипт спливаючого вікна із завантаженням Ajax контенту

Ajax завантаження відгуків до товарів

Приклад Ajax скрипта завантаження списку товарів + «Генератор списку товарів»

Ajax завантаження кошика

Ajax завантаження кошика.



Посилання з класом ajax_load_cart відкриватиме Ajax контент всередині блоку, заданого в атрибуті data-content-block.
Для завантаження кошика достатньо виконати звернення до сторінки «/ajax.php?cart&load_cart_ajax»


Приклад Ajax скрипта завантаження кошика при наведенні курсора мишки

Ajax завантаження списку зображень картки товару

Ajax завантаження списку всіх категорій у JSON форматі

Ajax завантаження списку всіх категорій у JSON форматі.

Для отримання списку всіх категорій магазину достатньо виконати запит за адресою /ajax.php?json&shop_categories&start=0&param=:products

Де
  • &start= — ID категорії, з якої почати відображення.
  • &param= параметри, які можна отримати у Віджеті з категоріями (не обов'язковий параметр)
  • Запит працює тільки із зазначенням вашого домену, наприклад http://example.com/ajax.php?json&shop_categories&start=0

Приклад результату: {"id":"ID категорії","parentID":"ID батьківської категорії","child_cat":"Кількість вкладених категорій","child_items":"Кількість товарів у категорії","image":"Шлях до зображення категорії","title":"Назва категорії"},

Ajax завантаження товару в JSON форматі

Ajax завантаження товару в JSON форматі.

Для отримання даних карток товарів у JSON форматі, достатньо виконати запит за адресою /ajax.php?json&shop_products&id=0

При вивантаженні товарів можна вказати параметри сортування та фільтрації за наступними параметрами:
  • id — ID картки товару (одне або декілька значень, через кому).
  • pers_shop_cat_page_catid — ID категорії магазину (одне або декілька значень, через кому)
  • producer – виробник (одне або декілька значень, через кому)
  • collection — колекція (одне або декілька значень, через кому)
  • sort_by – сортування
  • order_by – сортування
  • sort_instock_priority – сортування пріоритет
  • price_from – ціна від
  • price_to – ціна до
  • stock — наявність

Запит працює тільки із зазначенням вашого домену, наприклад http://example.com/ajax.php?json&shop_products&id=0


Демонстрація налаштування категорій та навігаційного меню

Форма (Form)

📝

Форми

Data Capture Module

Форма — розділ документа, що дозволяє користувачеві вводити інформацію для подальшої обробки системою. На платформі BooStore.pro ви зможете створювати повноцінні форми, з прив'язкою імен, id та class'ів для полів. Дані форм можна обробляти на нашій платформі або відправляти на будь-який інший ресурс.

Гнучке налаштування

Прив'язка унікальних імен та ідентифікаторів для кожного поля форми.

Обробка даних

Можливість локальної обробки в системі або відправки на зовнішні ресурси.



Приклад створення та розміщення форми

Ajax завантаження форм (спливаючі форми)

3 способи створення форми:
1 Конструктор форм (Найбільш гнучкий)

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

2 Функціональна сторінка

Створіть сторінку типу feedback. При її відкритті відображатиметься стандартна форма зворотного зв'язку.

3 Спливаюча форма (через код)
HTML
<a class="hotengine-dialog-email" data-site="XXXX" href="javascript://">Написати нам</a>
class="hotengine-dialog-email" — виклик вікна. data-site="XXXX" — ваш ID сайту (зазначений в адмін-панелі).
Додатково можна використовувати: data-title (заголовок), data-close-button (текст закриття), data-width та data-height.
Приклад стилізації полів (CSS)

Зміна назв полів для різних мов через псевдоелементи:

CSS

:lang(ru) .hotengine-form-feedback-text-title:after{ content:"Текст:"; } :lang(en) .hotengine-form-feedback-text-title:after{ content:"Text:"; } :lang(uk) .hotengine-form-feedback-text-title:after{ content:"Текст:"; } :lang(de) .hotengine-form-feedback-text-title:after{ content:"Text:"; } :lang(es) .hotengine-form-feedback-text-title:after{ content:"Texto:"; } :lang(fr) .hotengine-form-feedback-text-title:after{ content:"Texte:"; } :lang(kk) .hotengine-form-feedback-text-title:after{ content:"Мәтін:"; } :lang(be) .hotengine-form-feedback-text-title:after{ content:"Тэкст:"; } :lang(ro) .hotengine-form-feedback-text-title:after{ content:"Text:"; } :lang(tr) .hotengine-form-feedback-text-title:after{ content:"Metin:"; } :lang(it) .hotengine-form-feedback-text-title:after{ content:"Testo:"; } :lang(sk) .hotengine-form-feedback-text-title:after{ content:"Text:"; } :lang(da) .hotengine-form-feedback-text-title:after{ content:"Tekst:"; } :lang(pl) .hotengine-form-feedback-text-title:after{ content:"Tekst:"; } :lang(zh) .hotengine-form-feedback-text-title:after{ content:"文本:"; } :lang(hi) .hotengine-form-feedback-text-title:after{ content:"पाठ:"; } :lang(ar) .hotengine-form-feedback-text-title:after{ content:"النص:"; } :lang(pt) .hotengine-form-feedback-text-title:after{ content:"Texto:"; } :lang(bn) .hotengine-form-feedback-text-title:after{ content:"টেক্সট:"; }

:lang(ru) .hotengine-form-feedback-yourname-title:after{ content:"Ваше имя:"; } :lang(en) .hotengine-form-feedback-yourname-title:after{ content:"Your name:"; } :lang(uk) .hotengine-form-feedback-yourname-title:after{ content:"Ваше ім'я:"; } :lang(de) .hotengine-form-feedback-yourname-title:after{ content:"Ihr name:"; } :lang(es) .hotengine-form-feedback-yourname-title:after{ content:"Su nombre:"; } :lang(fr) .hotengine-form-feedback-yourname-title:after{ content:"Votre nom:"; } :lang(kk) .hotengine-form-feedback-yourname-title:after{ content:"Сіздің атыңыз:"; } :lang(be) .hotengine-form-feedback-yourname-title:after{ content:"Ваша імя:"; } :lang(ro) .hotengine-form-feedback-yourname-title:after{ content:"Numele dvs.:"; } :lang(tr) .hotengine-form-feedback-yourname-title:after{ content:"Adınız:"; } :lang(it) .hotengine-form-feedback-yourname-title:after{ content:"Il tuo nome:"; } :lang(sk) .hotengine-form-feedback-yourname-title:after{ content:"Vaše meno:"; } :lang(da) .hotengine-form-feedback-yourname-title:after{ content:"Dit navn:"; } :lang(pl) .hotengine-form-feedback-yourname-title:after{ content:"Twoje imię:"; } :lang(zh) .hotengine-form-feedback-yourname-title:after{ content:"你的名称:"; } :lang(hi) .hotengine-form-feedback-yourname-title:after{ content:"आपका नाम:"; } :lang(ar) .hotengine-form-feedback-yourname-title:after{ content:"اسمك:"; } :lang(pt) .hotengine-form-feedback-yourname-title:after{ content:"Seu nome:"; } :lang(bn) .hotengine-form-feedback-yourname-title:after{ content:"আপনার নাম:"; }

:lang(ru) .hotengine-form-feedback-yoursoname-title:after{ content:"Ваша фамилия:"; } :lang(en) .hotengine-form-feedback-yoursoname-title:after{ content:"Your name:"; } :lang(uk) .hotengine-form-feedback-yoursoname-title:after{ content:"Ваше прізвище:"; } :lang(de) .hotengine-form-feedback-yoursoname-title:after{ content:"Ihr name:"; } :lang(es) .hotengine-form-feedback-yoursoname-title:after{ content:"Su nombre:"; } :lang(fr) .hotengine-form-feedback-yoursoname-title:after{ content:"Votre nom:"; } :lang(kk) .hotengine-form-feedback-yoursoname-title:after{ content:"Сіздің аты-жөні:"; } :lang(be) .hotengine-form-feedback-yoursoname-title:after{ content:"Ваша прозвішча:"; } :lang(ro) .hotengine-form-feedback-yoursoname-title:after{ content:"Numele dumneavoastră:"; } :lang(tr) .hotengine-form-feedback-yoursoname-title:after{ content:"Adınız:"; } :lang(it) .hotengine-form-feedback-yoursoname-title:after{ content:"Il tuo nome:"; } :lang(sk) .hotengine-form-feedback-yoursoname-title:after{ content:"Vaše meno:"; } :lang(da) .hotengine-form-feedback-yoursoname-title:after{ content:"Dit navn:"; } :lang(pl) .hotengine-form-feedback-yoursoname-title:after{ content:"Imię i nazwisko:"; } :lang(zh) .hotengine-form-feedback-yoursoname-title:after{ content:"你的名称:"; } :lang(hi) .hotengine-form-feedback-yoursoname-title:after{ content:"आपका नाम:"; } :lang(ar) .hotengine-form-feedback-yoursoname-title:after{ content:"اسمك:"; } :lang(pt) .hotengine-form-feedback-yoursoname-title:after{ content:"O seu apelido:"; } :lang(bn) .hotengine-form-feedback-yoursoname-title:after{ content:"আপনার নাম:"; }

:lang(ru) .hotengine-form-feedback-yourphone-title:after{ content:"Ваш телефон:"; } :lang(en) .hotengine-form-feedback-yourphone-title:after{ content:"Your phone:"; } :lang(uk) .hotengine-form-feedback-yourphone-title:after{ content:"Ваш мобільний телефон:"; } :lang(de) .hotengine-form-feedback-yourphone-title:after{ content:"Ihr Telefon:"; } :lang(es) .hotengine-form-feedback-yourphone-title:after{ content:"Su teléfono:"; } :lang(fr) .hotengine-form-feedback-yourphone-title:after{ content:"Votre téléphone:"; } :lang(kk) .hotengine-form-feedback-yourphone-title:after{ content:"Телефон:"; } :lang(be) .hotengine-form-feedback-yourphone-title:after{ content:"Ваш тэлефон:"; } :lang(ro) .hotengine-form-feedback-yourphone-title:after{ content:"Telefonul dvs.:"; } :lang(tr) .hotengine-form-feedback-yourphone-title:after{ content:"Telefon:"; } :lang(it) .hotengine-form-feedback-yourphone-title:after{ content:"Il telefono:"; } :lang(sk) .hotengine-form-feedback-yourphone-title:after{ content:"Váš telefón:"; } :lang(da) .hotengine-form-feedback-yourphone-title:after{ content:"Din telefon:"; } :lang(pl) .hotengine-form-feedback-yourphone-title:after{ content:"Telefon:"; } :lang(zh) .hotengine-form-feedback-yourphone-title:after{ content:"你的电话:"; } :lang(hi) .hotengine-form-feedback-yourphone-title:after{ content:"अपने फोन:"; } :lang(ar) .hotengine-form-feedback-yourphone-title:after{ content:"الهاتف:"; } :lang(pt) .hotengine-form-feedback-yourphone-title:after{ content:"Seu telefone:"; } :lang(bn) .hotengine-form-feedback-yourphone-title:after{ content:"আপনার ফোন:"; }

:lang(ru) .hotengine-form-feedback-youremail-title:after{ content:"Ваш e-mail:"; } :lang(en) .hotengine-form-feedback-youremail-title:after{ content:"Your e-mail:"; } :lang(uk) .hotengine-form-feedback-youremail-title:after{ content:"Ваш e-mail:"; } :lang(de) .hotengine-form-feedback-youremail-title:after{ content:"Ihre e-mail:"; } :lang(es) .hotengine-form-feedback-youremail-title:after{ content:"Su e-mail:"; } :lang(fr) .hotengine-form-feedback-youremail-title:after{ content:"Votre e-mail:"; } :lang(kk) .hotengine-form-feedback-youremail-title:after{ content:"Сіздің e-mail:"; } :lang(be) .hotengine-form-feedback-youremail-title:after{ content:"Ваш e-mail:"; } :lang(ro) .hotengine-form-feedback-youremail-title:after{ content:"Adresa de e-mail:"; } :lang(tr) .hotengine-form-feedback-youremail-title:after{ content:"E-mail:"; } :lang(it) .hotengine-form-feedback-youremail-title:after{ content:"Il tuo indirizzo e-mail:"; } :lang(sk) .hotengine-form-feedback-youremail-title:after{ content:"E-mail:"; } :lang(da) .hotengine-form-feedback-youremail-title:after{ content:"Din e-mail:"; } :lang(pl) .hotengine-form-feedback-youremail-title:after{ content:"Twój e-mail:"; } :lang(zh) .hotengine-form-feedback-youremail-title:after{ content:"你的电子邮件:"; } :lang(hi) .hotengine-form-feedback-youremail-title:after{ content:"अपने ई-मेल:"; } :lang(ar) .hotengine-form-feedback-youremail-title:after{ content:"البريد الإلكتروني:"; } :lang(pt) .hotengine-form-feedback-youremail-title:after{ content:"Seu e-mail:"; } :lang(bn) .hotengine-form-feedback-youremail-title:after{ content:"আপনার ই-মেইল:"; }

:lang(ru) .hotengine-form-feedback-youraddress-title:after{ content:"Ваш адрес:"; } :lang(en) .hotengine-form-feedback-youraddress-title:after{ content:"Your address:"; } :lang(uk) .hotengine-form-feedback-youraddress-title:after{ content:"Ваша адреса:"; } :lang(de) .hotengine-form-feedback-youraddress-title:after{ content:"Ihre Adresse:"; } :lang(es) .hotengine-form-feedback-youraddress-title:after{ content:"Su dirección:"; } :lang(fr) .hotengine-form-feedback-youraddress-title:after{ content:"Votre adresse:"; } :lang(kk) .hotengine-form-feedback-youraddress-title:after{ content:"Сіздің мекен-жайы:"; } :lang(be) .hotengine-form-feedback-youraddress-title:after{ content:"Ваш адрас:"; } :lang(ro) .hotengine-form-feedback-youraddress-title:after{ content:"Adresa:"; } :lang(tr) .hotengine-form-feedback-youraddress-title:after{ content:"Adresi:"; } :lang(it) .hotengine-form-feedback-youraddress-title:after{ content:"Indirizzo:"; } :lang(sk) .hotengine-form-feedback-youraddress-title:after{ content:"Adresa:"; } :lang(da) .hotengine-form-feedback-youraddress-title:after{ content:"Din adresse:"; } :lang(pl) .hotengine-form-feedback-youraddress-title:after{ content:"Adres:"; } :lang(zh) .hotengine-form-feedback-youraddress-title:after{ content:"你的地址:"; } :lang(hi) .hotengine-form-feedback-youraddress-title:after{ content:"आपके पते की:"; } :lang(ar) .hotengine-form-feedback-youraddress-title:after{ content:"العنوان الخاص بك:"; } :lang(pt) .hotengine-form-feedback-youraddress-title:after{ content:"O seu endereço:"; } :lang(bn) .hotengine-form-feedback-youraddress-title:after{ content:"আপনার ঠিকানা:"; }

/*FORM TEXT TITTLES*/

Увага! На сайті передбачена можливість створювати власні форми в автоматичному режимі, а також використовувати спливаючі вікна для відправки необхідних від відвідувача даних. Для цього скористайтеся Конструктор форм.

Коментарі / Відгуки

💬

Коментарі та Відгуки

Social & Feedback Module

Система дозволяє залишати коментарі на всіх типах сторінок. Підтримуються гнучкі налаштування прив'язки до розділів, система оцінок (рейтинг) та захист Captcha. Для товарів передбачена спеціалізована форма — Відгуки.

Оцінки

Можливість включення зіркового рейтингу для наочного зворотного зв'язку.

🔒 Захист

Вбудована перевірка через захисне зображення для запобігання спаму.



Ajax завантаження коментарів

Ajax завантаження коментарів.



Елемент з класом "ajax_load_comments" відкриватиме Ajax контент всередині блоку, заданого в атрибуті data-content-block.
ID сторінки, що завантажується, задано в параметрі data-page-id. Додатково можна відфільтрувати коментарі за рейтингом, передавши змінну starrating_quality, наприклад starrating_quality=5.

Для коментарів використовуються 4 параметри:
  • hotengine_comments_hotengine_page_id — ID сторінки.
  • nc — номер сторінки коментарів.
  • snc_on_page — кількість коментарів на сторінці (від 1 до 50).
  • hotengine_comments_page_type — тип сторінки.

Типи доступних сторінок (обов'язковий параметр):
  • page — сторінки
  • shop_category — категорії магазину
  • shop_collection — колекції магазину
  • shop_producer — виробники
  • blog_category — категорія каталогу статей
  • blog_page — стаття


Ви можете використовувати власні скрипти, передаючи GET або POST параметри hotengine_comments_hotengine_page_id та hotengine_comments_page_type, за адресою /ajax.php. nc — номер сторінки, snc_on_page — кількість коментарів на сторінці.

Для отримання даних у JSON форматі, достатньо додати GET/POST змінну json.

Ajax завантаження відгуків до товарів

Ajax завантаження відгуків до товарів.



Посилання з класом ajax_load_shop_comments відкриватиме Ajax контент всередині блоку, заданого в атрибуті data-content-block.
Шлях до сторінки, що завантажується, задано в параметрі href.

Для відгуків використовуються три параметри:
hotengine_shop_comments_shop_cat_page_id — ID товару.
nc — номер сторінки коментарів.
snc_on_page — кількість коментарів на сторінці (від 1 до 50).
Шлях до сторінки може бути відносним або повним, з http. Шлях має бути або шляхом до товару, або можна одразу вказати ID товару, відгуки до якого необхідно завантажити.
Ви також можете використовувати власні скрипти, передаючи GET або POST параметр hotengine_shop_comments_shop_cat_page_id, з повною адресою
товару (або ID товару), за адресою /ajax.php. nc — номер сторінки, snc_on_page — кількість коментарів на сторінці. Додатково можна відфільтрувати коментарі за рейтингом, передавши змінну starrating_quality, наприклад starrating_quality=5.

Крім того, можливе використання прямих запитів без використання Ajax.
Наприклад, для завантаження даних в iframe. Шлях такий же як і при використанні Ajax.
Скрипти додавання товару в кошик потрібно підвантажувати додатково, якщо ви використовуєте iframe.

Скрипт завантаження даних у спливаючому вікні:
Скрипт спливаючого вікна із завантаженням Ajax контенту
Для отримання даних у json форматі, достатньо додати GET/POST змінну json.
Налаштувати коментарі можна для кожного розділу індивідуально або в загальних налаштуваннях сайту. Налаштування доступне для категорій магазину, виробників, колекцій, а також для сторінок, карток товарів або статей.

Multilanding / Динамічні сторінки

🎯

Multilanding / Динамічні сторінки

Dynamic Content Module

Multilanding — це технологія автоматичної зміни контенту сторінки залежно від ключового запиту відвідувача, встановлених у рекламі змінних (UTM) або його місцезнаходження.

🔄 Гнучка підміна

При збігу запиту система змінює вміст цілих блоків на сторінках, у товарах або елементах меню.

📊 Джерела даних

Використовуються пошукові фрази або GET-змінні, такі як utm_term у рекламних оголошеннях.

Як використовувати Multilanding?

Ви налаштовуєте правила підміни так, щоб при частковому або повному збігу ключового слова відвідувач бачив максимально релевантний контент. Наприклад, якщо в URL присутній utm_term=купить_ноутбук, заголовок і банер на сторінці можуть автоматично змінитися під цей запит.

Терміни зберігання даних:
• Інформація про звичайне джерело переходу зберігається 24 години.
• Дані про переходи за партнерською програмою зберігаються протягом 120 днів.
Індивідуальні налаштування Multilanding дозволяють значно підвищити конверсію рекламного трафіку за рахунок точної відповідності очікуванням користувача.

Приклад роботи з Блоком/Меню

📑

Робота з Блоками та Меню

Layout & Meta Module

Інструмент Блоки/Меню дозволяє гнучко керувати структурою сайту, від підтвердження прав власності в пошукових системах до створення унікальних елементів дизайну.

Верифікація

Додавання тегів <meta> для Google Search Console, Яндекс.Вебмайстер та інших сервісів.

Кастомізація

Створення власних Header (шапка) та Footer (підвал) сайту з використанням будь-якого HTML-коду.

Приклад підтвердження сайту:

  1. Створіть новий Блок/Меню в панелі управління.
  2. Вставте наданий сервісом <meta> код у поле вмісту.
  3. В налаштуваннях відображення виберіть розташування в службових тегах (head).
Автоматична оптимізація: Ви можете вставляти JavaScript та CSS прямо в блоки. Система інтелектуально обробить їх і перетворить на окремі файли для прискорення завантаження сторінок.

Приклад спільного використання категорій та виробників (додаткових категорій)

📦

Категорії та Виробники

Store Structure Module

Для кожного товару можна задати основну Рубрику (персональну категорію) та Виробника (додаткову категорію). Це дозволяє одному товару перебувати одночасно в різних списках: наприклад, телефон Samsung буде доступний і в розділі «Смартфони», і в розділі «Samsung».

💡 Гнучкість назв

Рубрику «Виробник» можна перейменувати на будь-яке зручне для вас слово.

📌 Рекомендація

Першу батьківську рубрику рекомендується називати «Магазин» (Store).

Створення основної категорії:

1. Відкрийте редактор категорій магазину.
2. Натисніть «Додати категорію», виберіть сайт і підтвердьте.
3. Введіть системне ім'я (URL). Наприклад, для групи «Магазин» вкажіть store.

Управління розділом Виробники (додаткові категорії) відбувається аналогічним чином.

Фільтрація через URL:
Щоб показати товари конкретної рубрики та конкретного виробника, додайте GET-змінну producer (ID або ім'я).
Приклад: /pers_shop/water/?producer=bonaqua — відобразить товари з категорії «water» тільки бренду «bonaqua».

Віджети

🧱

Віджети та ShortCodes

Interactive UI Module

«Віджет» — це інтерактивний блок з даними для розміщення на сайті. Віджет можна генерувати за допомогою спеціального короткого коду («ShortCode»), який може містити додаткові параметри. Отриманий код можна вставити безпосередньо в текст сторінки або в «Блоки/Меню».

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

Динаміка

Контент у віджетах оновлюється автоматично при зміні даних в базі (нові товари, статті).

📋 Універсальність

Один і той же ShortCode можна використовувати в різних частинах сайту, зберігаючи єдність стилю.

Генератори віджетів:

📁 Категорії магазину

Генерація списку або сітки ваших категорій.

📦 Товари магазину

Слайдери або сітки товарів з фільтрами.

🏭 Виробники

Виведення логотипів та назв брендів.

📝 Статті та новини

Віджет для виведення останніх публікацій.

Як це працює: Перейдіть у потрібний генератор, налаштуйте зовнішній вигляд і скопіюйте отриманий код типу [MENU:...]. Вставте його в будь-яке місце на сайті, де має з'явитися блок.


Пошук по сайту


Пошук здійснюється після відправки форми зі змінною «search». Тип даних для пошуку задається за допомогою шляху (сторінки) на яку відправляється форма. Для пошуку по «Каталогу товарів» відправку необхідно зробити на сторінку «/shop/».

Як додати пошукову форму в Шапку сайту?

В Блоці/Меню, розташованому в Шапці сайту, ви можете додати наступний код:

Code: html
<div align="center" id="hotengine-search_form_block" itemscope itemtype="https://schema.org/WebSite">
<link itemprop="url" href="//{HOTENGINE-SC:site_url}/"/>
<form id="hotengine-search-searchinput" name="hotengine-search-searchinput" method="post" action="/ua/shop/" itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction">
<meta itemprop="target" content="//{HOTENGINE-SC:site_url}/ua/shop/?search={search}"/>
<label>
<input class="input" name="search" type="text" placeholder="Поиск..." id="hotengine-smart_search_input" value="" itemprop="query-input">
</label>
<label>
<button type="submit" class="search-button">Знайти</button>
</label></form>
</div>


Код одразу містить Мікророзмітки для Google. В шляху для відправки форми (//{HOTENGINE-SC:site_url}/ua/shop/?search={search}) вказано ua мову, ви можете її змінити.

Приклад:


CSS стиль блоку, із заміною кнопки відправки на зображення:

Code: Css
#hotengine-search_form_block{
position: relative;
width:300px;
float: right;
z-index:2;
height: 41px;
margin:33px 0px 33px 10px;
}

#hotengine-search_form_block input{   
height: 20px;
vertical-align: middle;
border: 1px solid #e5e5e5;
padding: 0.15em;
width: 20.0em;
color:#9c9b9b;
height: 20px;
background: #fff;
padding: 0 13px;
height: 41px;
}
#hotengine-search_form_block input[type="text"]{
text-indent:4px;height: 39px;
}
#hotengine-search_form_block .search-button{
background:#41474c;
border-radius:0px;
vertical-align:middle;
display:block;
position:absolute;
top:0px;
right:0px;
border:none;
color:#fff;
width:41px; height:41px;
text-align:center;
font-size:12px;
line-height:25px; 
cursor:pointer; overflow:hidden; 
}
#hotengine-search_form_block .search-button:after{
content:""; width:41px; height:41px; display:block; position: absolute; right:0px; top:0px; 
background:none; background-color:#d6d6d6;
-webkit-mask:url("data:image/svg+xml;base64,PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KDTwhLS0gVXBsb2FkZWQgdG86IFNWRyBSZXBvLCB3d3cuc3ZncmVwby5jb20sIFRyYW5zZm9ybWVkIGJ5OiBTVkcgUmVwbyBNaXhlciBUb29scyAtLT4KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIj4KDTxnIGlkPSJTVkdSZXBvX2JnQ2FycmllciIgc3Ryb2tlLXdpZHRoPSIwIi8+Cg08ZyBpZD0iU1ZHUmVwb190cmFjZXJDYXJyaWVyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KDTxnIGlkPSJTVkdSZXBvX2ljb25DYXJyaWVyIj4KDTxwYXRoIGZpbGw9IiMwMDAwMDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMjUgMmE1LjI1IDUuMjUgMCAxMDMuMTQ0IDkuNDU1bDIuMzI2IDIuMzI1YS43NS43NSAwIDEwMS4wNi0xLjA2bC0yLjMyNS0yLjMyNkE1LjI1IDUuMjUgMCAwMDcuMjUgMnpNMy41IDcuMjVhMy43NSAzLjc1IDAgMTE3LjUgMCAzLjc1IDMuNzUgMCAwMS03LjUgMHoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgoNPC9nPgoNPC9zdmc+") center center no-repeat; 
-webkit-mask-size:20px;
}
#hotengine-search_form_block .search-button:hover:after{
	background-color:#fff;
}
#hotengine-search_form_block .search-button:active:after{transform: translateY(1px);}

Якщо замінити шлях /shop/ на /blog/, то пошук буде здійснюватися по каталогу статей.
Перезапис value поля input name="search" відбувається автоматично.




Пошуковий фільтр і Типи продукту (Характеристики товару).

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

Створення Типу продукту та Характеристик товару

Наприклад:
Створюємо «Тип продукту» - «Кросівки».
«Характеристика» - вказуємо декілька полів, «Множинний вибір (Checkbox)» з назвами: «Колір», «Призначення», «Виробник».
Після збереження назв полів, справа з'явиться можливість заповнити можливі варіанти.
Створіть значення.
Колір: Білий, Червоний, Зелений.
Призначення: Біг, Баскетбол, Футбол.
Виробник: Adidas, Asics, Nike

Тепер в картці товару у вкладці «Параметри і Характеристики» вкажіть «Тип продукту» та вкажіть відповідні значення.


Створення пошукового фільтра для категорій.


Якщо вам необхідно створити пошуковий фільтр, то в розділі «Мої блоки/меню» створіть «Функціональне меню» - «Пошук з Фільтром по типах продуктів».
Даний блок буде відображатися скрізь, де ви включите відображення.
Для того, щоб в певній категорії автоматично розкривався необхідний тип товару, то в тексті «Функціонального блока/меню» потрібно вказати ID відповідного типу товару, а також додати текст «autopath», для того, щоб при виконанні пошуку, він здійснювався на тій же сторінці, а не переходив на загальний пошук по сайту.
Наприклад, якщо ID створеного раніше типу продукту був 1123, то текст Блока/Меню буде «1123autopath».
Тепер вкажіть шлях на якому відображати блок/меню з пошуковим фільтром
«Введіть символи, при виявленні яких відображати Блок/Меню:»
/category_name/
Де category_name – ім'я категорії, шлях по якому вона розташована.
Для приховування Пошукового фільтра при перегляді картки товару в пункті «Введіть символи, при виявленні яких не відображати Блок/Меню:» введіть
.htm


Приклад пошукового фільтра:

Для приховування пошукового поля вгорі над Типом продукту, в Редакторі дизайну в Css стилях, додайте «.menu_position_left .hotengine-smart_search_input_label { display: none;}»

Для приховування пошукового поля вибору Типу продукту, в Редакторі дизайну в Css стилях, додайте «.menu_position_left .shop_catalog_product_types_id_label { display: none;}»

.menu_position_left - означає, що приховуємо поля в Лівому блоці сайту.


Для відображення кількості товарів із зазначеним параметром можна використовувати параметр («count») при створенні Функціонального Блока/Меню з пошуковим фільтром.
Для приховування не виявлених характеристик - «hideempty» (детальніше описано на сторінці створення функціонального Блока/Меню).
Щоб відображати вибрані відвідувачем значення пошукового фільтра у верхній частині сторінки, можна використовувати параметр «checkedlist». Цю функцію також можна активувати в розділі «Мобільне меню: Додаток» на вкладці «Пошуковий фільтр». Вона спростить користувачеві доступ до вибраних значень для пошуку, що особливо зручно при перегляді сайту на мобільних пристроях або екранах з невеликою роздільною здатністю. Функцію достатньо включити один раз — або за допомогою параметра «checkedlist» в розділі «Мої блоки/Меню» - «Пошуковий фільтр», або в розділі «Мобільне меню: Додаток», у вкладці «Пошуковий фільтр».
Demo:
Value1 ×
Value2 ×
Demo 2:
Value 3 ×
Value4 ×

Створення автоматичних описів.

При використанні типів товарів та характеристик ви можете створити статті та використовувати їх для додавання в картки товарів. Описи будуть додані в залежності від встановлених у товару характеристик або категорій. Управління та детальні інструкції доступні на сторінці «Магазин» - «Автоматичні описи».

Вставка пошукового фільтра на звичайній сторінці.

Якщо необхідно розмістити блок з пошуковим фільтром всередині тексту сторінки (опис, стаття, контентна сторінка і т.д.), використовуйте наступний короткий код:
{HOTENGINE-SC:smart_search_widget:PARAM}

Замість PARAM вказуються параметри, які керують роботою та відображенням фільтра.

Доступні параметри короткого коду


  • autopath — автоматична підстановка шляху відправки пошукового запиту
  • checkedlist — додавати список вибраних у фільтрі значень вгорі сторінки
  • hide_input — приховати текстове поле пошукового запиту (можна приховати параметром, або за допомогою CSS стилів)
  • all — не враховувати категорію при пошуку
  • child_cat — виконувати пошук по всіх дочірніх підкатегоріях
  • count — відображати кількість товарів
  • count_all — відображати кількість товарів без урахування категорії
  • hideempty — приховувати параметр, якщо по ньому не знайдено товарів
  • hideempty_all — приховувати параметр, якщо по ньому не знайдено товарів (без урахування категорії)

Всі налаштування віджета пошукового фільтра збігаються з параметрами функціонального меню «Пошуковий фільтр».

Формат вказання параметрів


Параметри можна вказувати через символ «|»

Приклад використання


{HOTENGINE-SC:smart_search_widget:autopath|count_all|hideempty|ID типу товару|checkedlist|all|hideempty_all|pathurl=/ua/pers_shop/snakers/|}

Пояснення до прикладу


  • ID типу товару — вказується ідентифікатор типу товарів, для яких повинен працювати фільтр (обов'язково)
  • pathurl=/ua/pers_shop/snakers/ — відносний шлях до категорії, в якій додатково розміщено функціональний блок меню з пошуковим фільтром

Шлях /ua/pers_shop/snakers/ є відносним шляхом до категорії та використовується для коректного формування пошукових запитів та посилань.


Приклад callback функцій після виконання Java Script

На сайті використовується безліч функцій, після виконання яких можливо вам знадобиться виконати власні скрипти. Для цього ми додали набір callback функцій, які викликаються після виконання скриптів, з попередньою перевіркою їх існування.
Наприклад, після додавання товару в кошик викликається функція callback_hotengine_cart_plus_after, якщо вона існує

Code: JavaScript
if(typeof(callback_hotengine_cart_plus_after) === "function"){ 
callback_hotengine_cart_plus_after(); 
}


Для запуску власного скрипта функції callback_hotengine_cart_plus_after, її необхідно створити.

Code: JavaScript
window.callback_hotengine_cart_plus_after = function(){
  // your script
};



Список деяких передбачених Callback функцій:

Shop
callback_hotengine_ajax_load_products_list - після завантаження списку товарів (універсальна функція у всіх випадках завантаження списку товарів скриптом)
callback_hotengine_ajax_load_products - після завантаження списку товарів, по кнопці "Показати ще".
callback_hotengine_shop_products_list_div_button - після прокручування списку товарів в слайді
callback_hotengine_shop_page_boughtwith_loaded($id) - після завантаження списку, "з товаром купують" ($id-ID завантажуваних товарів)
callback_hotengine_shop_page_products_synonyms_loading($id) - перед завантаженням списку, "товари синоніми" ($id-ID завантажуваних товарів)

Shop / Automatic description
callback_hotengine_shop_autodescription($type) - після відображення автоматичного опису ($type - html,ajax)
callback_hotengine_shop_autodescription_readmore($id,$job) - після завантаження розгорнутого тексту автоматичного опису ($job - show,hide,load)

Shop / Cart
callback_hotengine_cart_plus - після відправки запиту на додавання товару в кошик
callback_hotengine_cart_addresult($result,$item_id) - після додавання товару в кошик, різні варіанти результату ($result-значення результату. Значення: "added" - додано, "removed" - видалено, "instock_smaller" - залишок менше ніж додають, "instock_smaller_exists" - залишок менше ніж вже додано в кошик)
callback_hotengine_cart_plus_after($items_in_cart) - після додавання товару в кошик ($items_in_cart - кількість товарів в кошику після виконання)
callback_hotengine_cart_plus_after_boughtwith($ids) - після додавання товару в кошик передається список "З товаром купують" в змінній $ids
callback_hotengine_cart_plus_after_boughtwith_email($ids) - після додавання товару в кошик передається "Список для розсилки" в змінній $ids (E-mail розсилка інших товарів)
callback_hotengine_cart_count_product_num - після вибору продукту для зміни його кількості, в кошику
callback_hotengine_cart_error_wrong_num - вказано не вірну кількість товару при додаванні в кошик
callback_hotengine_shop_update_cart_menu - оновити кількість товарів в кошику (для меню з кошиком, наприклад в мобільному меню)
callback_hotengine_cart_menu_hover_block - Функція, що виконується при наведенні на іконку кошика після відображення її вмісту

Shop / Variant
callback_hotengine_shop_product_variaty_select - після вибору різновиду
callback_hotengine_variety_change_price($price) - після вибору різновиду та зміни ціни ($price - нова ціна)
callback_hotengine_variety_change_sku($sku) - після вибору різновиду та зміни коду товару ($sku - новий sku)
callback_hotengine_variety_change_skuimage($img) - після вибору різновиду якщо вказано нове зображення ($img - новий шлях до зображення)
callback_hotengine_variety_change_stock_count($stock) - після вибору різновиду та зміни кількості в наявності ($stock - нова кількість в наявності). Дана функція не ініціалізується, якщо не створена, оскільки не завжди необхідно змінювати кількість товару в наявності.
callback_hotengine_variety_require() - якщо не вибрано різновид, перед викликом діалогового вікна повідомлення
callback_hotengine_variety_require_list($href) - якщо не вибрано різновид, перед викликом діалогового вікна з повідомленням, при перегляді списку товарів ($href - посилання для перегляду картки товару)

Shop / Favorite / Compare
callback_hotengine_favorite_addresult($result,$count_favorite) - після додавання товару в обрані, різні варіанти результату ($result-значення результату. Значення: "added" - додано, "removed" - видалено; $count_favorite - кількість товарів в обраних)
callback_hotengine_compare_plus() - після додавання товару в список для порівняння

Shop / Search
callback_hotengine_shop_catalog_product_types - після вибору типу продукту в пошуковому фільтрі

Shop / Stock
callback_hotengine_shop_product_stock_inform- після виклику вікна "Повідомити про наявність"
callback_hotengine_shop_product_stock_inform_send - після відправки запиту "Повідомити про наявність"

Shop / Delivery
callback_hotengine_loading_delivery_type - після вибору способу доставки
callback_hotengine_loading_delivery_type_finalvalues - після вибору способу доставки остаточного значення

Shop / Storehouse
callback_hotengine_shop_cart_change_storehouse - після вибору точки видачі

User
callback_hotengine_authorize_result($result) - функція після авторизації користувача ($result - результат виконання: 2-помилка логіну або пароля, 3-акаут заблоковано, 4-необхідна активація,5-Активація пройшла успішно,6-Невірний код Captcha)

Shop / Sell Statistic
callback_hotengine_statisticsell_printorder($a) - після виклику вікна роздруку замовлення. $a=1 - перед відображенням вікна. $a=2 - після відображення вікна.

Blog
callback_hotengine_blog_page_list_div_button - після прокручування списку статей в слайді

Dialog
callback_hotengine_dialog_email - після виклику вікна для зворотного зв'язку (вбудована форма зворотного зв'язку)
callback_hotengine_form_loaded - після завантаження форми (Конструктор форм / Спливаюча форма)
callback_hotengine_form_submit_result($a) - після відправки форми через діалогове вікно. $a=0 - помилка. $a=1 - ok.

Mobile
callback_hotengine_mobilemenu_click($a,$href) - натискання на посилання в мобільному меню. $a=0 - посилання пунктів та верхні іконки. $a=1 - посилання підкатегорій. $a=2 - після відображення вікна ajax з контентом.
callback_hotengine_mobilemenu_show - функція відображення контенту мобільного меню (для створення ефекту появи). За замовчуванням document.getElementById("hotengine-mobile-outer")?.style.setProperty("display", "block");

Приклад
Приклад появи справа на ліво.
Code: html
let $element = $("#hotengine-mobile-outer");
let elementWidth = $element.outerWidth();
$element.css({ right: -elementWidth, display: "block" }).animate({ right: 0 }, 500);




Other
callback_hotengine_loadGoogleReviews_after - функція при завантаженні блоку з відгуками Google Place
callback_hotengine_booking_form($a) - функція при роботі з бронюванням. Значення $a: 2 - перед отриманням вільних слотів. 3 - після створення списку вільних слотів. 4 - після натискання кнопки назад. 4 - показати вільні слоти починаючи з вказаної дати, 6 - початок процесу підтвердження бронювання. 7 - перед відправкою підтвердження бронювання. 8 - перед відправкою підтвердження бронювання, після формування списку даних. 9 - перед відправкою підтвердження вибраного слоту для бронювання. 10 - відправка форми - підтвердження бронювання. 1 - відправка бронювання, результат.

Готові скрипти


Більшість рішень ви можете реалізувати за допомогою скриптів (JavaScript). Деякі з них описані на сторінці інструкцій, деякі на сторінці налаштувань. Додатково ви можете знайти готові рішення на сторінці Скрипти для використання на сайтах.

Приховані дані (Системна розмітка / Мікророзмітка)

Спеціальна розмітка hotengine-marking

Дана розмітка міститься на всіх сторінках (сторінках, магазині, каталозі статей та ін.), а також у пунктах меню, де використовується список даних, наприклад останні статті та новини.

Дана розмітка містить наступні дані:
data-hotengine-marking-type= тип сторінки
data-hotengine-marking-timestamp= дата створення сторінки
data-hotengine-marking-view= кількість переглядів

Дані необхідні у випадку, якщо ви хочете заборонити або відобразити додаткові дані, на певній сторінці, з певним типом сторінки, або якщо вам необхідно відобразити кількість переглядів, або дату матеріалу (новини, статті, товару). Крім того, проінспектувавши даний елемент, ви можете виявити ID запису (сторінки, статті або товару), а також інші додаткові дані.

Якщо вам потрібні ще якісь дані в розмітці, то повідомте нам про це.
Code: html
<span class="hotengine-marking" data-hotengine-marking-type="shop_catalog_page" data-hotengine-marking-timestamp="1422368197" data-hotengine-marking-view="6" data-hotengine-marking-name="slug_url_name" data-hotengine-marking-shop_catalog_page_price="1" data-hotengine-marking-shop_catalog_page_price_currency="USD" data-hotengine-marking-shop_catalog_page_complectation="22323" data-hotengine-marking-video="https://youtu.be/tAyVrZ1jzC4">


Крім того, при встановленні індивідуальних параметрів доставки, додаються ще атрибути:
data-hotengine-marking-delivery="xxx"
data-hotengine-marking-delivery_price="xxx"
data-hotengine-marking-delivery_note="xxx"


При наявності габаритів та ваги товару додаються атрибути: data-hotengine-marking-shop_cat_page_deliv_width="XX"
data-hotengine-marking-shop_cat_page_deliv_height="XX"
data-hotengine-marking-shop_cat_page_deliv_length="XX"
data-hotengine-marking-shop_cat_page_deliv_units="XX"
data-hotengine-marking-shop_cat_page_deliv_weight="XX"
data-hotengine-marking-shop_cat_page_deliv_weight_units="XX"
data-hotengine-marking-shop_cat_page_deliv_capacity="XX"



Приклад скрипта, який перевіряє сторінку на наявність об'єкта розмітки та типу сторінки «shop_catalog_page» (сторінка картки товару).
Code: html
let product_marking = $(".hotengine-marking[data-hotengine-marking-type='shop_catalog_page']");
  if(typeof product_marking !== typeof undefined && product_marking !== false && product_marking !='undefined' && product_marking !=''){
 let product_id = product_marking.attr("data-hotengine-marking-shop_catalog_page_id");
  console.log("ID PRODUCT IS "+product_id);
}

Якщо сторінка визначена як картка товару, то витягуємо ID товару - data-hotengine-marking-shop_catalog_page_id.

Доступні типи сторінок:

Shop:
  • shop_catalog_page - картка товару
  • shop_catalog_page_incategory - картка товару на сторінці зі списком *
  • shop_catalog_page_incategory_search - картка товару на сторінці результату пошуку
  • shop_catalog_page_cart_products_list - картка товару в кошику
  • pers_shop_catalog_category - категорія магазину
  • shop_catalog_category_collection - категорія-колекція, магазину
  • shop_catalog_category_producer - категорія-виробник, магазину
  • shop_statistic_sale - статистика продажів
  • shop_catalog_page_cart_bought_with - з товаром купують (при перегляді кошика)
Blog:
  • blog_catalog_page - стаття
  • blog_catalog_page_incategory - список статей *

* - у даних об'єктів списку атрибути мікророзмітки додані без використання окремого елемента hotengine-marking.

Приклад використання розмітки (Відображення дати створення запису + timeConverter)
Code: html

<script>
(function(){
  function timeConverter(UNIX_timestamp) {
  const metaLang = document.querySelector(`html`);
  let lang = metaLang ? metaLang.getAttribute(`lang`).toLowerCase() : `en`;
  const a = new Date(UNIX_timestamp * 1000);
  const year = a.getFullYear();
  const monthIndex = a.getMonth();
  const date = a.getDate();
 const months = {
  "ru": ["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],
  "uk": ["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"],
  "pl": ["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],
  "en": ["January","February","March","April","May","June","July","August","September","October","November","December"]
  };
 if (!months[lang]) lang = "en";
  return { day: date, month: months[lang][monthIndex], year: year };
  }


document.querySelectorAll(`#hotengine-content-page .hotengine-blog-page-list-block, #hotengine-content-blog .hotengine-blog-page-list-block`).forEach(block => {
    const timestamp = block.getAttribute(`data-hotengine-marking-timestamp`);
    if(timestamp){
        const t = timeConverter(timestamp);
        const dateHtml = `
            
${t.day} ${t.month} ${t.year}
`; const contentElem = block.querySelector(`.contenth_i`); if(contentElem){ contentElem.insertAdjacentHTML(`afterbegin`, dateHtml); } } }); })(); </script>

Даний скрипт знаходить елемент розмітки, #hotengine-content-blog .hotengine-blog-page-list-block (статтю зі списку) та вставляє Дату, попередньо перетворену з TIMESTAMP, функцією timeConverter на початок елемента .contenth_i.
CSS style
Code: CSS
.hotengine_add_date { font-size:10px; float:right; color:#555;
  display: inline-block;
  width: 60px;
  padding: 8px 5px;
  background-color: #f4f4f4;
  border-radius: 8px;
  text-align: center;

  box-shadow: 0 0 5px rgba(0,0,0,0.1);
  margin: 8px 10px 12px 8px;
  color: #333;
}

.hotengine_add_date span {
  display: block;
  line-height: 1.2;
}

.hotengine_add_date span.day {
  font-size: 20px;
  font-weight: bold;
}

.hotengine_add_date span.month {
  font-size: 13px;
  font-weight: 500;
}

.hotengine_add_date span.year {
  font-size: 11px;
  color: #777;
}

@media screen and (max-width: 600px) {
  .hotengine_add_date {
    width: 48px;
    padding: 6px 4px;
    margin: 6px 8px 10px 0;
  }

  .hotengine_add_date span.day {
    font-size: 16px;
  }

  .hotengine_add_date span.month {
    font-size: 11px;
  }

  .hotengine_add_date span.year {
    font-size: 10px;
  }
}




Крім того, до тегу <HTML> для користувачів додається розмітка data-hotengine-marking-userid, з ID користувача.
Якщо користувач доданий як "Клієнт" зі своєю знижкою, то також додається мітка data-hotengine-marking-user-group-discount, з розміром його знижки.

Code: html
<html lang="ru" data-hotengine-marking-userid="USERID" data-hotengine-marking-user-group-discount="-10%">
Де:
ru - мова сайту
USERID - ID користувача
10% - розмір клієнтської знижки.


Якщо користувач доданий в Групу клієнтів, то додатково вказується ID групи до якої він належить.
Code: html
<html lang="ru" data-hotengine-marking-userid="XXXXX" data-hotengine-marking-user-group-discount="-20%" data-hotengine-marking-user-group-id="XXXXX">



Приклад додаткової розмітки в різновиді товару
Code: html
<ul class="hotengine-shop-product-variety_select" size="1" data-vpid="XXXXX" >
<li value="0" title="Різновид" >Різновид</li>
<li value="XXXXXX" data-hotengine-variety-disable-add="1" data-hotengine-variety-pricechange="+10" data-hotengine-variety-stockcount="10" class="">Різновид 1</li>
<li value="XXXXX" data-hotengine-variety-disable-add="0" data-hotengine-variety-pricechange="=500" data-hotengine-variety-stockcount="10" class="hotengine-shop-product-variety_hilight">Різновид 2</li>
<li value="XXXXX" data-hotengine-variety-disable-add="0" data-hotengine-variety-pricechange="-110" data-hotengine-variety-stockcount="10" class="hotengine-shop-product-variety_hilight-selected">Різновид 3</li>
</ul>

data-hotengine-variety-disable-add - вкл/вимк можливість додати різновид в кошик (1-заборонити, 0-дозволити). При натисканні на різновид, вимкнений для додавання - нічого не відбувається і ціна товару та артикул не змінюються.

data-hotengine-variety-pricechange - дані про зміну ціни, ви можете їх використовувати для створення підсвітки даних про змінювану ціну (за допомогою javascript).
data-hotengine-variety-stockcount - кількість в наявності

CSS класи для елементів:
.hotengine-shop-product-variety_hilight - виділений об'єкт (при наведенні мишки).

.hotengine-shop-product-variety_hilight-selected - виділений об'єкт на який натиснули (активний різновид).

Крім того, для всіх дочірніх елементів блока з вимкненою функцією додавання в кошик [data-hotengine-variety-disable-add="1"] додана стилізація знебарвлення та звичайний курсор при наведенні.

Приклад мітки при пошуковому запиті в магазині
Code: html
<span class="hotengine-marking" 
data-hotengine-marking-type="shop_catalog_page_incategory_search"
data-hotengine-marking-search="отдельно поисковый запрос"
data-hotengine-marking-searchparam="?&search=поисковый запрос полная строка (+сортировка и прочие данные)"
data-hotengine-marking-sortparam="дополнительные данные сортировки"
data-hotengine-marking-smart_search_price_from="цена от"
data-hotengine-marking-smart_search_price_to="цена до"
data-hotengine-marking-smart_search="поисковый запрос при использовании поискового фильтра"
data-hotengine-marking-searchresult-num="55">

data-hotengine-marking-searchparam - пошуковий запит, можна використовувати для створення посилання на сторінку із запитом.
data-hotengine-marking-searchresult-num - кількість знайдених продуктів за введеним запитом.

Приклад мітки в категоріях магазину
Code: html
<span class="hotengine-marking" 
data-hotengine-marking-type="pers_shop_catalog_category"
data-hotengine-marking-view="9999"
data-hotengine-marking-pers_shop_catalog_category_parent_id="222"
data-hotengine-marking-pers_shop_catalog_category_child_count="2"
data-hotengine-marking-pers_shop_catalog_page_count="999"
data-hotengine-marking-pers_shop_catalog_page_child_count="1299"
data-hotengine-marking-pers_shop_catalog_category_name="nameofcategory"
data-hotengine-marking-pers_shop_catalog_category_id="8342">

data-hotengine-marking-pers_shop_catalog_category_parent_id - ID батьківської категорії
data-hotengine-marking-pers_shop_catalog_category_child_count - кількість підкатегорій (тільки до цього батька)
data-hotengine-marking-pers_shop_catalog_page_count - кількість товарів в цій категорії
data-hotengine-marking-pers_shop_catalog_page_child_count - кількість товарів в цій та дочірніх підкатегоріях
data-hotengine-marking-pers_shop_catalog_category_name - ім'я категорії.
data-hotengine-marking-pers_shop_catalog_category_id - ID категорії.
Аналогічна розмітка використовується для Виробників.

Приклад пошуку мітки з пошуковим запитом в магазині
Code: JavaScript
<script><!--
document.addEventListener("DOMContentLoaded", () => {
    const searchMark = document.querySelector(`.hotengine-marking[data-hotengine-marking-type="shop_catalog_page_incategory_search"]`);
    if (searchMark) {
        const searchQuery = searchMark.getAttribute("data-hotengine-marking-search");
        const input = document.querySelector(`#hotengine-search-searchinput input[name="search"]`);
        if (input && searchQuery) {
            input.value = searchQuery;
        }
    }
});
  //-->
  </script>

data-hotengine-marking-search - пошуковий запит Увага! Це лише приклад. При розміщенні блока пошуку в шапці сайту значення поля встановлюється автоматично в момент рендерингу сторінки.


Крім того до деяких блоків сайту додана розмітка "data-hotengine-..." з додатковими даними.
Наприклад data-hotengine-product-images-count - кількість картинок у товару.

В кошику розміткою вказано кількість товарів, загальна вартість та валюта (data-hotengine-cart-count, data-hotengine-cart-total-price, data-hotengine-cart-currency)

Додаткова розмітка, «data-» реалізована прямо в елементах розмітки, наприклад, елемент class="hotengine-categories-list-block" (блок іконки категорії) може містити розмітку: data-image="1" - вказана картинка до категорії, data-child-cat="7" - кількість підкатегорій, data-child-items="5114" - Кількість товарів у всіх внутрішніх рубриках, а також кількість підкатегорій, data-cid="44" - ID категорії. (data-cid - категорії магазину, data-pcid - категорії виробників, data-ccid - категорії колекцій, data-bcid - категорії каталогу статей)

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

Приклад перевірки наявності елемента розмітки
Code: html
let $catergory = $('.hotengine-marking[data-hotengine-marking-type="pers_shop_catalog_category"]');
if (typeof $catergory !== typeof undefined && $catergory !== false && $catergory !== "undefined" && $catergory.length > 0){
let $nemecat = $catergory.attr("data-hotengine-marking-pers_shop_catalog_category_name");
alert("Category name is "+$nemecat);
}

Інструкція зі створення Сортування товарів в магазині з прикладом

Скористайтеся посиланням для автоматичного створення функціонального меню «Сортування» або заповніть Блок/Меню за інструкціями Скрипт функціонального меню «Сортування».

Інструкція зі зміни повідомлення про не вибраний різновид

Текст помилки вибору різновиду:
Повідомлення про необхідність вибрати різновид товару реалізовано в діалоговому вікні за допомогою CSS елемента. Замінити написи ви можете в CSS стилях:
Code: CSS
:lang(ru) .hotengine-shop_cart_add_error_wrong_variety:after{ content:"Вы не выбрали разновидность товара."; }
:lang(en) .hotengine-shop_cart_add_error_wrong_variety:after{ content:"You did not select a complete set of goods."; }
:lang(uk) .hotengine-shop_cart_add_error_wrong_variety:after{ content:"Ви не обрали різновид товару."; }
:lang(pl) .hotengine-shop_cart_add_error_wrong_variety:after{ content:"Nie wybrałeś typu produktu."; }

Крім того, перед відображенням повідомлення, викликається callback функція callback_hotengine_variety_require.
При перегляді списку товарів, перед відображенням повідомлення, викликається callback функція callback_hotengine_variety_require_list($href), де в якості $href передається посилання на картку товару.

Приклад функції з діалоговим вікном, яке використовується за замовчуванням, і може бути змінено:
Code: JavaScript
<script>
 function callback_hotengine_variety_require(){

 $("body").append('<div id="hotengine-shop_cart_add_error_wrong_variety"><a class="hotengine-shop_cart_add_error_wrong_variety-btn-close" data-micromodal-close onclick=\'(function() { $("#hotengine-shop_cart_add_error_wrong_variety,#hotengine-shop_cart_add_error_wrong_variety-data").remove(); return false; })();\'></a></div>');
  
  
  
hotengine_micromodal({
    id: "hotengine-shop-cart-add-error-wrong-variety",
    content: $("#hotengine-shop_cart_add_error_wrong_variety-data").html(),
    defaultWidth: $(window).width() > 410 ? "410px" : "90%",
	defaultHeight: "",
    minWidth: "290px",
    onCloseRemove: false,
	unsetContentHeight: true,
	onCloseEvent: (id) => {
                setTimeout(() => {
                   const m = document.getElementById(id);
                   if (m && m.getAttribute("aria-hidden") === "true") m.remove();
                }, 500);
                }
});
  
  return false; 
  }

 </script>



В параметрах товару можна вказати заголовок над списком різновидів. Довжина заголовка додається у вигляді CSS class'а. Наприклад, якщо заголовок "Вибрати вагу", то його довжина 24 символи. Відповідно вказується клас hotengine-shop-product-variety-title_24. Ви можете використовувати або текст або довжину заголовка над різновидом. Наприклад:
Code: JavaScript
<script>												 
	function callback_hotengine_variety_require(){

if($(".hotengine-shop-product-variety-title_24").length > 0){
  $text = "Ви не вибрали вагу!";
  } else if($(".hotengine-shop-product-variety-title_38").length > 0){
  $text = "Ви не вибрали кількість!";
  } else if($(".hotengine-shop-product-variety-title_26").length > 0){
  $text = "Ви не вибрали колір!";
  } else {
  $text = "Ви не вибрали різновид!";
  }
 
 
 $("body").append('<div id="hotengine-shop_cart_add_error_wrong_variety"><b>'+$text+'</b><a class="hotengine-shop_cart_add_error_wrong_variety-btn-close" data-micromodal-close onclick=\'(function() { $("#hotengine-shop_cart_add_error_wrong_variety,#hotengine-shop_cart_add_error_wrong_variety-data").remove(); return false; })();\'></a></div>');
  
  
  
hotengine_micromodal({
    id: "hotengine-shop-cart-add-error-wrong-variety",
    content: $("#hotengine-shop_cart_add_error_wrong_variety-data").html(),
    defaultWidth: $(window).width() > 410 ? "410px" : "90%",
	defaultHeight: "",
    minWidth: "290px",
    onCloseRemove: false,
	unsetContentHeight: true,
	onCloseEvent: (id) => {
                setTimeout(() => {
                   const m = document.getElementById(id);
                   if (m && m.getAttribute("aria-hidden") === "true") m.remove();
                }, 500);
                }
});
  
  return false; 
  }


</script>
Аналогічна функція при перегляді списку товарів, callback_hotengine_variety_require_list($href), доповнена посиланням на картку товару, і відповідно може бути використана в діалозі, що відображається.

Інструкція з додавання посилання на відгуки / rating в товарах


Для створення посилання на іконки Рейтингу, в списку товарів, необхідно знайти всі елементи списку, та додати посилання навколо елементів рейтингу.
Крім того, після завантаження списку товарів у слайдері або кнопкою "Показати ще", необхідно виконати додавання посилання повторно (callback_hotengine_ajax_load_products та callback_hotengine_shop_products_list_div_button).
Code: JavaScript
<script>
  <!-- 


window.callback_hotengine_shop_products_list_div_button = function(){
    const blocks = document.querySelectorAll(`.hotengine-shop-product-list-block .hotengine-shop-product-rating-block`);
    blocks.forEach(block => {
        if(block.parentElement && block.parentElement.classList.contains(`hotengine-shop-product-rating-block-url`)) return;
        const parent = block.parentElement;
        if(!parent) return;
        const readMore = parent.querySelector(`.hotengine-shop-product-read_more a`);
        if(!readMore) return;
        const url = readMore.getAttribute(`href`);
        if(!url) return;
        const a = document.createElement(`a`);
        a.className = `hotengine-shop-product-rating-block-url`;
        a.href = `${url}#tabs-review`;
        parent.insertBefore(a, block);
        a.appendChild(block);
    });
};

window.callback_hotengine_ajax_load_products = function(){
    const blocks = document.querySelectorAll(`.hotengine-shop-products-list-content-append .hotengine-shop-product-list-block .hotengine-shop-product-rating-block`);
    blocks.forEach(block => {
        if(block.parentElement && block.parentElement.classList.contains(`hotengine-shop-product-rating-block-url`)) return;
        const parent = block.parentElement;
        if(!parent) return;
        const readMore = parent.querySelector(`.hotengine-shop-product-read_more a`);
        if(!readMore) return;
        const url = readMore.getAttribute(`href`);
        if(!url) return;
        const a = document.createElement(`a`);
        a.className = `hotengine-shop-product-rating-block-url`;
        a.href = `${url}#tabs-review`;
        parent.insertBefore(a, block);
        a.appendChild(block);
    });
};

window.callback_hotengine_shop_products_list_div_button = function(){
    const blocks = document.querySelectorAll(`.hotengine-shop-products-list-content .hotengine-shop-product-list-block .hotengine-shop-product-rating-block`);
    blocks.forEach(block => {
        if(block.parentElement && block.parentElement.classList.contains(`hotengine-shop-product-rating-block-url`)) return;
        const parent = block.parentElement;
        if(!parent) return;
        const readMore = parent.querySelector(`.hotengine-shop-product-read_more a`);
        if(!readMore) return;
        const url = readMore.getAttribute(`href`);
        if(!url) return;
        const a = document.createElement(`a`);
        a.className = `hotengine-shop-product-rating-block-url`;
        a.href = `${url}#tabs-review`;
        parent.insertBefore(a, block);
        a.appendChild(block);
    });
};
 
-->
  </script>



Для об'єкта посилання необхідно задати положення, наприклад CSS:
Code: JavaScript
.hotengine-shop-product-list-block .hotengine-shop-product-rating-block{ position:relative; display: block; bottom: 0px;}
	.hotengine-shop-product-list-block .hotengine-shop-product-rating-block-url{ position:relative; display: block; bottom: 1px;}
	


Додаткові блоки в кошику: Якщо у товару встановлена оптова ціна, то створюється SPAN елемент .hotengine-shop-product-price_bulk_inform_block.
Code: html
<span class="hotengine-shop-product-price_bulk_inform_block"><span class="hotengine-shop-product-price_bulk_inform_block_title"></span><span class="hotengine-shop-product-price_bulk_inform_original_price">100</span><span class="hotengine-shop-product-price_bulk_inform_original_price_bulk">100</span></span>



.hotengine-shop-product-price_bulk_inform_block_title - блок з текстом «Оптова ціна» (змінити можна через CSS стилі, content).
.hotengine-shop-product-price_bulk_inform_block - блок з інформацією про знижку
.hotengine-shop-product-price_bulk_inform_original_price - ціна
.hotengine-shop-product-price_bulk_inform_original_price_bulk - оптова ціна


Якщо у товару вказана Акція, то створюється SPAN елемент .hotengine-shop-product-price_sale_inform_block.
Code: html
<span class="hotengine-shop-product-price_sale_inform_block"><span class="hotengine-shop-product-price_sale_inform_block_title"></span><span class="hotengine-shop-product-price_sale_inform_original_price">100</span><span class="hotengine-shop-product-price_sale_inform_original_price_old">120</span></span>



.hotengine-shop-product-price_sale_inform_block_title - блок з текстом «Акційна ціна» (змінити можна через CSS стилі, content).
.hotengine-shop-product-price_sale_inform_block - блок з інформацією про знижку
.hotengine-shop-product-price_sale_inform_original_price - ціна
.hotengine-shop-product-price_sale_inform_original_price_old - стара ціна товару (відображається тільки якщо значення вказано і не дорівнює нулю)


ShortCode (автозаміна даних)

ShortCode (автозаміна даних)

На всіх сторінках та Блоках/Меню можлива автоматична заміна Коду, на Статичні дані.
У кожної сторінки ці дані унікальні, наприклад це може бути ID сторінки (статті, товару, сторінки).

Нижче представлений список основних даних для автозаміни.


{HOTENGINE-SC:current_page_id} - ID поточної сторінки (статті, сторінки, товару, новини)
{HOTENGINE-SC:site_url} - URL вашого сайту (адреса)
{HOTENGINE-SC:lang} - Мова відкритої сторінки
{HOTENGINE-SC:site_tagline} - Слоган сайту
{HOTENGINE-SC:contacts} - Блок з контактами
{HOTENGINE-SC:slide_menu_widget:XX} - Блок з віджетом Slide Menu
{HOTENGINE-SC:slider_widget:XX} - Блок з віджетом Slider
{HOTENGINE-SC:smart_search_widget:PARAM} - Блок з віджетом Пошуковий фільтр
{HOTENGINE-SC:main_menu_widget} - головне меню
{HOTENGINE-SC:langmenu} - переключення мови

{HOTENGINE-SC:user_nickname} - Ім'я користувача (якщо він выполнил авторизацию)
{HOTENGINE-SC:user_id} - ID пользователя (якщо він выполнил авторизацию)
{HOTENGINE-SC:user_login} - Login пользователя (якщо він выполнил авторизацию)
{HOTENGINE-SC:user_discount} - Знижка користувача
{HOTENGINE-SC:user_cashback} - Баланс Cashback
{HOTENGINE-SC:user_group_id} - ID группы пользователя

{HOTENGINE-SC:shop_cart_menu} - кошик з товаром (Блок/Меню Кошик)
{HOTENGINE-SC:favorites} - ссылка на избранные товары
{HOTENGINE-SC:shop_compare_menu} - сравнение товаров
{HOTENGINE-SC:shop_cat_page_image} - Шлях до зображення товару (якщо відкрита сторінка товару)
{HOTENGINE-SC:shop_cat_page_id} - ID товару (якщо відкрита сторінка товару). Також можна використовувати {HOTENGINE-SC:current_page_id}
{HOTENGINE-SC:shop_cat_page_name} - «Slug URL» найменування сторінки для ЧПУ посилання.
{HOTENGINE-SC:shop_cat_page_sku} - Код товару (якщо відкрита сторінка товару)
{HOTENGINE-SC:shop_cat_page_currency} - Валюта товару (скорочена) (якщо відкрита сторінка товару)
{HOTENGINE-SC:shop_cat_page_currency_iso} - Валюта товару (ISO) (якщо відкрита сторінка товару)
{HOTENGINE-SC:shop_cat_page_price} - Ціна товару (якщо відкрита сторінка товару)
{HOTENGINE-SC:shop_cat_page_title} - Найменування товару
{HOTENGINE-SC:shop_cat_page_video} - Video URL (посилання на Відео)

{HOTENGINE-SC:pers_shop_cat_val_name} - Найменування категорії магазину (тільки всередині категорії та кнопці в списку підкатегорій)
{HOTENGINE-SC:pers_shop_cat_val_title} - Заголовок категорії магазину (тільки всередині категорії та кнопці в списку підкатегорій)
{HOTENGINE-SC:pers_shop_cat_val_id} - ID категорії магазину (тільки всередині категорії та кнопці в списку підкатегорій)
{HOTENGINE-SC:shop_cat_producer_val_name} - Найменування категорії виробника (тільки всередині категорії та кнопці в списку підкатегорій)
{HOTENGINE-SC:shop_cat_producer_val_id} - ID категорії виробника (тільки всередині категорії та кнопці в списку підкатегорій)
{HOTENGINE-SC:shop_cat_collection_val_name} - Найменування категорії колекції (тільки всередині категорії та кнопці в списку підкатегорій)
{HOTENGINE-SC:shop_cat_collection_val_id} - ID категорії колекції (тільки всередині категорії та кнопці в списку підкатегорій)

{HOTENGINE-SC:blog_cat_val_name} - Найменування категорії каталогу статей (только внутри категории и кнопке в списке подкатегорий)
{HOTENGINE-SC:blog_cat_page_id} - ID статьи (только в каталоге статей)
{HOTENGINE-SC:blog_cat_page_name} - «Slug URL» наименование страницы для ЧПУ ссылки.
{HOTENGINE-SC:blog_cat_page_title} - Заголовок статьи (только в каталоге статей)
{HOTENGINE-SC:blog_cat_val_id} - ID категории каталога статей (только внутри категории и кнопке в списке подкатегорий)




Наприклад, ви можете використовувати даний код для відображення імені авторизованого користувача на сайті:
Code: html
<span class="user_login_name">Ласкаво просимо {HOTENGINE-SC:user_login}</span>


Або ви можете використовувати даний код для створення Meta даних для соціальних мереж (наприклад розмітка Open Graph):
Code: html
<meta property="og:image" content="{HOTENGINE-SC:shop_cat_page_image}"/>
<meta property="og:title" content="{HOTENGINE-SC:shop_cat_page_title}>



Приклад створення посилання на профіль авторизованого користувача:
Code: html
https://boostore.pro/{HOTENGINE-SC:lang}/users.php?p=user_profile&action=userprofile&userid={HOTENGINE-SC:user_id}



Вивантаження XML/RSS/YML

XML вивантаження доступні на вашому сайті

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

Підтримувані формати та платформи:

  • Sitemap.xml – карта сайту для Google та Bing, що забезпечує швидку індексацію.
  • Google Merchant Center – XML-фіди для Google Shopping та динамічного ремаркетингу.
  • Yandex Market – стандарт XML (YML) для рекламних мереж.
  • Hotline.ua – спеціалізований прайс з підтримкою націнок для управління маржинальністю.
  • Rozetka.ua – XML-файл, адаптований під вимоги маркетплейсу з підтримкою винятків за цінами.
  • Prom.ua – фід з інтелектуальною багатомовністю: автоматичне об'єднання описів (UA/RU) в одному файлі згідно специфікації порталу.
  • Епіцентр (Epicentrk.ua) – адаптований XML-фід з урахуванням стандартів контенту маркетплейсу.
  • JSON / CSV Price – універсальні формати для інтеграцій та роботи в Excel.

Генератор та актуальний список посилань доступний в адмін-панелі: «XML/CSV/XLS/JSON».

Гнучке налаштування (Фільтрація та Сортування):

Додаючи GET параметри до посилання, ви можете динамічно змінювати вміст вивантаження:

Параметр Опис
producer ID виробника (можна декілька через кому).
price_from / price_to Фільтр за діапазоном цін «від» та «до».
pers_shop_cat_page_catid ID категорії магазину (підтримка декількох гілок).
stock Статус наявності (тільки в наявності / всі товари).
sort_instock_priority Пріоритет: товари в наявності піднімаються на початок списку.
sort_by / order_by Напрямок та поле для сортування даних.

Приклад посилання: https://ваш-сайт.com/export.xml?producer=10&price_from=500&stock=1

Всі варіанти доступних значень та конструктор посилань знаходяться на сторінці «Вивантаження XML/CSV/XLS/JSON».


Формульні націнки

У системі реалізована можливість автоматичного розрахунку цін за формулами. Управління маржинальністю доступне на трьох рівнях:

  • Глобально для вивантаження: Параметр «Додаткова націнка» дозволяє задати загальний відсоток до базової вартості товару безпосередньо при створенні посилання на фід.
  • Для кожної категорії: У налаштуваннях конкретної категорії магазину можна вказати індивідуальну націнку, яка буде застосовуватися тільки до товарів цієї групи. При цьому налаштування дозволяють гнучко задавати різні відсотки для кожного майданчика окремо (своя націнка для Rozetka, своя для Prom.ua, своя для Epicentrk.ua тощо).
  • Індивідуально в товарі: У кожній картці товару доступний параметр «Націнка у вивантаженнях», який дозволяє примусово вимкнути розрахунки для конкретної позиції:

Варіанти винятків:

  • Вкл – до товару застосовуються всі активні націнки (вивантаження + категорії).
  • Вимк: Без націнок – повне ігнорування націнок. У файл передається оригінальна ціна сайту без надбавок.
  • Без націнки Rozetka / Prom / Epicentr – точкове вимкнення націнок тільки для конкретного маркетплейсу.
  • Без формульної націнки – вимкнення автоматичних правил перерахунку для цієї позиції.

Це вкрай корисно для контролю цін на товари з фіксованою роздрібною ціною (РРЦ), де автоматичне завищення ціни неприпустиме.

Домени/Domain

Паркування домену

Ви можете безкоштовно підключити свій персональний домен першого рівня (наприклад: example.com). Для цього вкажіть наші NS сервери в налаштуваннях вашого домену:

Основні NS сервери рекомендується
FRIDA.NS.CLOUDFLARE.COM
JAIME.NS.CLOUDFLARE.COM
ДЛЯ ДОМЕНІВ .UA (.PP.UA, .IN.UA, .OD.UA, .COM.UA та ін.):
JULISSA.NS.CLOUDFLARE.COM
FATTOUCHE.NS.CLOUDFLARE.COM
Або використовуйте
NS1.BOOSTORE.PRO
NS2.BOOSTORE.PRO
IP для A-запису
88.218.28.193

Після налаштування зверніться до нас через форму зворотного зв'язку. Вкажіть ваш сайт та адресу нового домену.

* — Ми не продаємо домени. Щоб підключити свій домен, його потрібно купити у реєстратора.
Домени в зоні .RU на даний момент не обслуговуються.

SSL/HTTPS

SSL

SSL — це скорочення від Secure Socket Layer — це стандартна інтернет технологія безпеки, яка використовується, щоб забезпечити зашифроване з'єднання між веб-сервером (сайтом) та браузером. SSL сертифікат дозволяє нам використовувати HTTPS протокол (після підключення SSL сертифіката, ваш сайт буде відкриватися не через HTTP, а через HTTPS протокол).


Що таке HTTPS?

HTTPS (Hypertext Transport Protocol Secure) – це протокол, який забезпечує безпеку та конфіденційність при обміні інформацією між сайтом та пристроєм користувача. Відвідувачі сайту розраховують, що вказані ними дані не потраплять до рук шахраїв. Щоб захистити дані, які залишають відвідувачі на вашому сайті, почніть застосовувати протокол HTTPS.



Як підключити SSL сертифікат


Підключити наш SSL сертифікат ви можете при оплаті хостингу, вказавши галочку «SSL сертифікат».

Крім того, Ви можете підключити SSL сертифікат для вашого домену, попередньо купивши його у будь-якого реєстратора. Вартість підключення та використання вашого сертифіката становить 1$ на місяць (мінімальний термін для оплати - 12 міс.).

Для інтернет-магазину достатньо сертифіката Comodo Positive SSL.

Оплатити підключення SSL.


Пошта/E-mail

Створення поштових скриньок на припаркованому домені

Після підключення домену ви можете використовувати пошту з адресою вашого сайту, наприклад mail@example.com.
Ви можете підключити до вашого домену поштовий сервіс Google.com, Zoho.com та інші.


Підключення корпоративної пошти на Zoho.eu

1

Зареєструйтеся на zoho.eu/mail

2

Виберіть тарифний план (наприклад, 5GB — FREE, безкоштовний).

3

Додайте ваш домен. Для перевірки створіть CNAME або TXT запис у DNS. Ви можете надіслати ці дані нам для налаштування, або вказати їх самостійно (бажано надіслати обидва варіанти).

4

Додайте MX записи (ім'я хоста: @ або пусте). Значення вказані нижче:

Host / Domain Value / Address Priority
@ / Blank mx.zoho.eu. 10
@ / Blank mx2.zoho.eu. 20
@ / Blank mx3.zoho.eu. 50
5

У DNS записах створіть TXT запис (SPF):
v=spf1 ip4:88.218.28.193 include:zoho.eu ~all

6

Рекомендується налаштувати DKIM Signature.

7

Створіть поштові адреси та користувачів у панелі Zoho.

8

Налаштуйте відправлення через SMTP в адмін-панелі сайту:

Варіант 1 (SSL)
  • Server: smtp.zoho.eu
  • Port: 465
  • Security: SSL
Варіант 2 (TLS)
  • Server: smtp.zoho.eu
  • Port: 587
  • Security: TLS

Налаштування SMTP

Ви можете використовувати власний SMTP сервер (РЕКОМЕНДУЄТЬСЯ), для відправлення пошти з вашого сайту. Для цього зайдіть в Налаштування, у вкладку "Пошта" та вкажіть параметри SMTP сервера.

Сповіщення

Viber Bot

Сповіщення у Viber

Ви можете включити оповіщення про нові повідомлення та замовлення з сайту. Зверніть увагу, що у Viber доступне тільки отримання сповіщень (керування статусами замовлень через цей канал не підтримується).

Для підключення: необхідно відправити boostore_viber_key (де key — ваш ключ) в паблік-акаунт: viber.com/hotlistbiz.

Ви можете поділитися даним ключем та використовувати його з різних пристроїв з Viber.
📍 Налаштування сайту Встановити ключ можна в «Налаштуваннях», у вкладці «Сповіщення».
📝 Редактор форм Можна використовувати ключ для Форм, який вказується в «Редакторі форм».
Для відключення оповіщень необхідно або видалити конкретного отримувача, змінити ключі або відправити DISABLE hotlist_key (де key — ваш ключ сайту або форми) у Viber.

Telegram Bot

Сповіщення та керування в Telegram

Ви можете включити оповіщення про нові повідомлення та замовлення з сайту. Telegram-бот дозволяє не тільки отримувати інформацію, але й керувати статусами замовлень, статусами доставки та оплати прямо з месенджера.

Для підключення: необхідно відправити boostore_telegram_key (де key — ваш ключ) боту: @BooStorePro_bot.

Ви можете поділитися даним ключем та використовувати його з різних пристроїв з Telegram.
📍 Налаштування сайту Встановити ключ можна в «Налаштуваннях», у вкладці «Сповіщення».
📝 Редактор форм Можна використовувати ключ для Форм, який вказується в «Редакторі форм».
Для відключення оповіщень необхідно або видалити конкретного отримувача, змінити ключі або відправити DISABLE hotlist_key (де key — ваш ключ сайту або форми) в Telegram.

Push-сповіщення

Push-сповіщення в браузері

Push-сповіщення — це короткі повідомлення, які з'являються на вашому екрані (комп'ютері або телефоні), навіть якщо сайт boostore.pro закрито. Вони допомагають миттєво дізнаватися про критично важливі події без перевірки пошти.

Можливості Push-сповіщень:
  • Миттєві повідомлення про нові замовлення та запитання клієнтів.
  • Контроль імпорту: сповіщення про завершення процесу імпорту товарів з Excel, Google Таблиць або буфера обміну.
  • Системні оповіщення: інформація про технічні роботи, закінчення терміну дії SSL або балансу.
Для підключення перейдіть в «Налаштуваннях», у вкладку «Сповіщення» та слідуйте покроковим інструкціям для активації підписки у вашому браузері.

Мови

Багатомовність та пошукові системи

Якщо у вас є кілька версій сторінки різними мовами або для різних регіонів, допоможіть Google ідентифікувати їх. Тоді в результатах пошуку будуть представлені ті версії ваших сторінок, які найкраще підходять для мови та регіону користувача.
Один зі способів реалізації багатомовних сайтів - це тег з атрибутом hreflang. Приклад такого тега:
<link rel="alternate" hreflang="lang_code" href="url_of_page" />

На різних сторінках сайту (категоріях, сторінках, статтях, картках товарів та інших) реалізована функція багатомовності. Наприклад, якщо у вас додана картка товару Англійською, Білоруською, Російською та Українською мовами, то достатньо у всіх картках товарів в комірці «Товар на інших мовах» вказати однакове значення, наприклад - «1». В такому випадку, при відкритті сторінки однією з мов, будуть додані теги hreflang з посиланнями на сторінки іншими мовами. Рекомендується використовувати ID першої картки товару, щоб уникнути дублювання значень та подальших помилок. Наприклад, якщо ви додали товар «Кросівки», з ID «12345» , то додаючи аналогічний товар Англійською мовою, вкажіть у пункті «Товар на інших мовах» - «12345».

Основна вибрана мова сайту буде позначена додатковим тегом hreflang="x-default".

Як створити багатомовний сайт?

Створіть сторінку однією мовою, потім таку ж сторінку іншою мовою, і заповніть поле «Сторінка на інших мовах» однаковим значенням, наприклад, ID першої створеної сторінки. Таким же чином заповнюйте статті та картки товару. Сайт автоматично повідомить пошуковику про сторінку іншими мовами, а також про головну сторінку (головна сторінка буде відповідати основній мові сайту, яку ви можете вказати в розділі «Налаштування», «Стартова сторінка»).

Для створення рубрик каталогу статей або магазину, рекомендуємо використовувати приставку мови. Наприклад, рубрику «dress», можна створити іншими мовами, використовуючи приставку «dress_ua», «dress_de», «dress_fr»…
Використовувати однаковий шлях до рубрики іншими мовами можливо, але при імпорті даних, наприклад, товару, можуть виникнути помилки, оскільки платформа не зможе розпізнати мову рубрики, в яку він додається. Тому ми рекомендуємо використовувати приставки в розділах з рубриками, каталозі статей та інтернет-магазині. При використанні мовних приставок як описано вище, змінна «Категорія на інших мовах» буде встановлена автоматично.

При створенні карток товару, «Код товару» повинен бути унікальним, тому іншою мовою можна використовувати, наприклад, власні закінчення «SKU/CODE_EN». Якщо вказано «Товар на іншій мові», то при зміні основних даних (вартість, наявність, новинка, хіт продажу, доступ), так само будуть оновлені всі картки товару, вказані як альтернативна версія основного товару.
«Пошуковий фільтр» та «Блоки/меню» можна використовувати одночасно і для всіх мов, і окремо вказати мову, на якій його відображати. Наприклад, створіть «Блоки/меню», Шапку сайту, і розташуйте на всіх сторінках, вказавши мову «Російська (ru)». Такий блок буде відображатися всюди, тільки якщо відкрита Російська версія сайту. Таким же чином можна створити шапку і для інших мов. Якщо вам необхідно розмістити якийсь код, то не обов'язково створювати такий «Блоки/меню» для кожної мови, достатньо вказати мову «All (Всі)», і блок буде відображатися незалежно від вибраної відвідувачем мови.
Префікс мови на платформі BooStore.pro вказується на початку, наприклад, «/ua/page.htm».

Швидкий переклад каталогу товарів на сайті

Для швидкого перекладу магазину ви можете використовувати імпорт/експорт через CSV/XLS, а також сервіс Google Translate для документів.

Категорії магазину


Експортуйте «Категорії магазину». Замініть значення «ПОПЕРЕДНЬОЇ» мови в комірці мова, на значення «НОВОЇ» мови, а також виконайте переклад назв та описів (наприклад за допомогою сервісу Google Translate для документів, попередньо зберігши файл у XLSX). При цьому «Мова» всіх дочірніх категорій буде такою ж, як мова основної категорії, в яку вони додаються. Тому для головної категорії (батько якої є - «main») важливо замінити значення комірки «Мова» на «НОВА МОВА». Для усунення можливих помилок при подальшому імпорті товарів, рекомендуємо використовувати унікальні імена, або додавати в «ім'я» нових категорій «_НОВАМОВА». Наприклад, «category_en», де «en» - нова мова, що додається.

Перед виконанням імпорту необхідно зберегти файл у форматі «XLS» або «CSV». Після виконання імпорту перевірте, щоб мова нових категорій була правильною. Якщо з якоїсь причини вказана невірна мова, то замініть мову головної категорії вашого каталогу, в яку вони додані, в розділі «Магазин» - «Категорії магазину». Для всіх дочірніх підкатегорій мова також буде замінена. Якщо категорій не багато, то можна скопіювати категорії, замінивши в них мову та найменування, в розділі «Магазин» - «Категорії магазину».


Додавання товарів

Виконайте експорт товарів у розділі «Магазин» - «Експорт товарів». Встановіть галочку «Вивантажити все». Зніміть галочку «Не експортувати товари, яких немає в наявності», а також встановіть галочку «Експортувати категорії без транслітерації» - для спрощення підбору категорій перекладених товарів. Виконайте переклад файлу за допомогою сервісу Google Translate для документів, попередньо зберігши файл у XLSX. За допомогою формул додайте в категорії «_мова», або замініть їх імена на нові створені категорії. Перемістіть значення стовпця «ID» у стовпець «Товари на інших мовах». Обов'язково видаліть значення для стовпця «ID», щоб не перезаписати існуючі товари. А також замініть «Код товару», наприклад аналогічно додавши «_мова» за допомогою формул, оскільки товари з аналогічним «ID» або «Кодом товару» будуть перезаписані.
Виконайте імпорт, в розділі «Магазин» - «Імпорт товарів». Швидко заповнити відповідність комірок ви можете натиснувши «Поля з файлу, вкажіть відповідність» - «Заповнити вибір полів відповідностей згідно з файлом експорту (поля «Вивантажити все»)».

Крім того, для створення коректної розмітки для пошуковиків, а також перенаправлення між товарами різними мовами, в товарах основної мови виконайте експорт та повторний імпорт, скопіювавши значення комірки «ID» у стовпець «Товари на інших мовах». (При цьому можна імпортувати тільки одну комірку «Товар на інших мовах» і вказати ID або «Код товару», за якими будуть знайдені товари для перезапису). Таким чином і нові, і раніше створені товари будуть мати ідентичні значення «Товар на інших мовах».

Багатомовність та меню вибору мови

Ви можете розмістити короткий код {HOTENGINE-SC:langmenu} і вказати в налаштуваннях сайту список доступних мов або розмістити код з прикладу нижче.
Код з прикладу нижче формує кнопку переходу на альтернативні мови, при цьому якщо до сторінки/статті/картки товару вказана альтернативна мовна версія, то вона буде задіяна.


1) Вставте код CSS в Редактор дизайну, у вкладку CSS.
2) Додайте JavaScript в блок/меню, що відображається на всіх сторінках.
3) Вставте код випадаючого списку мов в блок/меню, в якому хочете його розташувати, наприклад в шапку сайту.
4) Видаліть з блока непотрібні мови (class hotengine-shop-select-language-val)



Код меню вибору мови:
Code: html
<nav class="hotengine-shop-select-language-box">
  <span class="hotengine-shop-select-language" data-lang="ua"></span>
  <span class="hotengine-shop-select-language-values">
  <li><a class="hotengine-shop-select-language-val" data-lang="be"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="de"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="en"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="es"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="fr"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="kk"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="pl"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="ru"></a></li>
  <li><a class="hotengine-shop-select-language-val" data-lang="uk"></a></li>
  </span>
  </nav>

CSS стилі:
Code: CSS
/*LANGUAGE BLOCK*/
.hotengine-shop-select-language-box { display:inline-block; width:71px; height:auto; overflow:hidden; border:1px solid transparent;  line-height:30px; position:relative; z-index:1000; }
.hotengine-shop-select-language { display:block; width:100%; text-align:center; cursor:pointer; }
.hotengine-shop-select-language-values { display:block; width:100%; vertical-align: top; position:absolute; background:rgba(255, 255, 255, 0.80); }
.hotengine-shop-select-language-box:hover{ overflow:visible;}
.hotengine-shop-select-language-values:hover li{ position:relative; }
.hotengine-shop-select-language-val { width:auto; display:block; margin:0px; vertical-align:top; cursor:pointer; text-align:center; color:inherit; text-decoration:none; }
.hotengine-shop-select-language-val:hover {background:inherit;color:inherit;}


.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="ru"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="ru"]:after { content: "RU"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="en"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="en"]:after { content: "EN"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="uk"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="uk"]:after { content: "UA"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="de"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="de"]:after { content: "DE"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="es"]:after,

.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="es"]:after { content: "ES"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="fr"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="fr"]:after { content: "FR"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="kk"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="kk"]:after { content: "KK"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="be"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="be"]:after { content: "BE"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="ro"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="ro"]:after { content: "RO"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="tr"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="tr"]:after { content: "TR"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="it"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="it"]:after { content: "IT"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="sk"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="sk"]:after { content: "SK"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="da"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="da"]:after { content: "DA"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="pl"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="pl"]:after { content: "PL"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="zh"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="zh"]:after { content: "ZH"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="hi"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="hi"]:after { content: "HI"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="ar"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="ar"]:after { content: "AR"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="pt"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="pt"]:after { content: "PT"; }

.hotengine-shop-select-language-box .hotengine-shop-select-language[lang="bn"]:after,
.hotengine-shop-select-language-box .hotengine-shop-select-language-val[lang="bn"]:after { content: "BN"; }

/*LANGUAGE BLOCK*/

Файл, що підставляє шляхи в посилання (з link[rel="alternate"]):
Code: JavaScript
<script src="/templates/scripts/hotengine-script-language.js"></script>

Вміст файлу

Зміна текстових елементів на сайті

Багатомовність та заміна стандартних написів

Більшість написів та елементів на сайті відображаються за допомогою CSS псевдоелементів. Наприклад елемент з класом .hotengine-form-feedback-yourname-title має псевдоелемент з текстом.
Текст розділений за допомогою батьківського lang атрибута у елемента html.

Приклад:
Code: CSS

:lang(ru) .hotengine-form-feedback-yourname-title:after{ content:"Ваше имя:"; }
:lang(en) .hotengine-form-feedback-yourname-title:after{ content:"Your name:"; }
:lang(uk) .hotengine-form-feedback-yourname-title:after{ content:"Ваше ім'я:"; }
:lang(de) .hotengine-form-feedback-yourname-title:after{ content:"Ihr name:"; }
:lang(es) .hotengine-form-feedback-yourname-title:after{ content:"Su nombre:"; }
:lang(fr) .hotengine-form-feedback-yourname-title:after{ content:"Votre nom:"; }
:lang(kk) .hotengine-form-feedback-yourname-title:after{ content:"Сіздің атыңыз:"; }
:lang(be) .hotengine-form-feedback-yourname-title:after{ content:"Ваша імя:"; }
:lang(ro) .hotengine-form-feedback-yourname-title:after{ content:"Numele dvs.:"; }
:lang(tr) .hotengine-form-feedback-yourname-title:after{ content:"Adınız:"; }
:lang(it) .hotengine-form-feedback-yourname-title:after{ content:"Il tuo nome:"; }
:lang(sk) .hotengine-form-feedback-yourname-title:after{ content:"Vaše meno:"; }
:lang(da) .hotengine-form-feedback-yourname-title:after{ content:"Dit navn:"; }
:lang(pl) .hotengine-form-feedback-yourname-title:after{ content:"Twoje imię:"; }
:lang(zh) .hotengine-form-feedback-yourname-title:after{ content:"你的名称:"; }
:lang(hi) .hotengine-form-feedback-yourname-title:after{ content:"आपका नाम:"; }
:lang(ar) .hotengine-form-feedback-yourname-title:after{ content:"اسمك:"; }
:lang(pt) .hotengine-form-feedback-yourname-title:after{ content:"Seu nome:"; }
:lang(bn) .hotengine-form-feedback-yourname-title:after{ content:"আপনার নাম:"; }



Файли з перекладом стандартних значень


Яким чином можна перекласти весь сайт?

Створюючи багатомовний сайт, вкажіть мову в створюваному контенті (сторінці, меню, категорії...).

Використовуйте шляхи із зазначенням мови на початку:

/ua/ /ua/ /en/ /pl/ /kk/ /be/ ...

Основна мова: вказується при реєстрації (змінюється в «Налаштуваннях» → «Мови та стартова сторінка»).

Товари: мова визначається автоматично за рубрикою, в яку додається товар.

Більшість елементів на сайті ви можете замінювати за допомогою CSS стилів та псевдоелементів.

Написи про кількість товарів

:lang(ru).hotengine-shop-product-price_for-lang-1::after { content: "за 1 шт"; }

Замінюйте lang-1 (де 1 — вибрана одиниця виміру) та (ru) — код мови.

Список значень одиниць виміру:

  • 1 1 шт
  • 2 100 шт
  • 3 1000 шт
  • 4 за 1 упаковку
  • 5 1 кг
  • 6 1000 кг
  • 7 1 м²
  • 8 за 1 метр
  • 9 за 1 км
  • 10 за комплект
  • 11 за 1 годину
  • 12 за 1 день
  • 13 за 1 місяць
  • 14 за 1 рік
  • 15 за сотку
  • 16 за Акр
  • 17 за Гектар
  • 18 за ділянку
  • 19 за об'єкт
  • 30 за 1 мл
  • 31 за 1 л
  • 32 за 1 км³
  • 33 за 1 м³
  • 34 за 1 дм³
  • 35 за 1 см³
  • 36 за 1 mm³
  • 37 за 1 hl
  • 38 за 100 грам
  • 39 1 фунт
  • 40 за 1 грам
  • 41 за 10 кг
  • 42 за 1 центнер
  • 43 за 1 тонна
  • 44 за 1 ар
  • 45 за 1 пара
  • 46 за 1 дюжина
  • 47 за 1 галлон
  • 48 за 1 баррель
  • 49 за 1 хвилину
  • 50 за 1 тиждень
  • 51 за 1 послугу
  • 52 за 1 поїздку
  • 53 за 1 людину
  • 54 за 1 машину
  • 55 за 1 м.п.

Переклад кнопок за допомогою JavaScript

Деякі елементи реалізовані без псевдокласів та CSS елементів. Наприклад, такий елемент як кнопка "Надіслати" в кошику. Для перекладу такого елемента можна використовувати Javascript.
Code: JavaScript
<script>
(function() {
    const init = () => {
        const submitBtn = document.querySelector(`#hotengine-shop-cart-form .hotengine-form-submit input[type="submit"]`);
        if (submitBtn) {
            submitBtn.value = `Надіслати замовлення`;
        }
    };

    if (document.readyState === `loading`) {
        document.addEventListener(`DOMContentLoaded`, init);
    } else {
        init();
    }
})();
</script>

Детальніше ...
Наприклад, в даному випадку ми змінюємо текст кнопки відправки форми. Код необхідно розмістити на сторінці, де розташована кнопка. Для цього необхідно створити функціональну сторінку - Кошик. І вставити наведений у прикладі код в текст сторінки.

Переклад Пошукового фільтра

Ви можете використовувати один пошуковий фільтр для багатьох мов. Це спростить процес імпорту/експорту товарів та наповнення сайту.
Переклад здійснюється за допомогою інструмента Переклад значень характеристик.

Крім того, ви можете виконати переклад за допомогою JavaScript. Однак при такому перекладі XML вивантаження характеристик на MarketPlac'и буде однією мовою.
Наприклад, розглянемо переклад з Англійської на Російську.
Показати

Створіть «Блок/Меню» та розмістіть його на сторінках, де включено пошуковий фільтр.
Наприклад, в пункті «Введіть символи, при виявленні яких відображати Блок/Меню:» вкажіть:
/ua/shop/
/ua/pers_shop/

Приклад перекладу рядків, а також кнопки «Застосувати».
Code: JavaScript
<script>
(function() {
  const $dict = {
    "Color": "Колір",
    "Blue": "Синій",
    "Green": "Зелений",
    "Black": "Чорний"
  };

  /*
  Example translations:
  RU: "Color": "Цвет", "Blue": "Синий", "Green": "Зеленый", "Black": "Черный"
  UA: "Color": "Колір", "Blue": "Синій", "Green": "Зелений", "Black": "Чорний"
  PL: "Color": "Kolor", "Blue": "Niebieski", "Green": "Zielony", "Black": "Czarny"
  */

  const applyTranslations = () => {
    Object.entries($dict).forEach(([txtorig, txtnew]) => {
      const selectors = [
        `#shop_catalog_product_types_id_ajax .product_types_valuebox_checkbox span`,
        `#shop_catalog_product_types_id_ajax .shop_catalog_product_types_block_title`,
        `.shop_catalog_product_properties_block .shop_catalog_product_types_block_title`,
        `.shop_catalog_product_properties_block .product_types_valuebox_checkbox`
      ];

      selectors.forEach(selector => {
        document.querySelectorAll(selector).forEach(el => {
          if (el.textContent.includes(txtorig)) {
            el.innerHTML = txtnew;
          }
        });
      });
    });
  };

  applyTranslations();

  const target = document.getElementById(`shop_catalog_product_types_id_ajax`);
  if (target) {
    const observer = new MutationObserver(() => {
      observer.disconnect();
      applyTranslations();
      observer.observe(target, { childList: true, subtree: true });
    });
    observer.observe(target, { childList: true, subtree: true });
  }

  setTimeout(() => {
    const smartSearchInput = document.querySelector(`.hotengine-smart_search_submit_button input`);
    if (smartSearchInput) smartSearchInput.value = "Застосувати";

    const searchInpButton = document.querySelector(`#searchinp_smart_search .button`);
    if (searchInpButton) searchInpButton.value = "Застосувати";
  }, 100);
})();
  </script>


Приклад перекладу з перезаписом слів:
Code: JavaScript
<script>
 (function() {
  const $dict = {
    "Colour": "Farbe",
    "Blue": "Blau",
    "Green": "Grün",
    "Black": "Schwarz"
  };

  /*
  Example translations:
  RU: "Colour": "Цвет", "Blue": "Синий", "Green": "Зеленый", "Black": "Черный"
  UA: "Colour": "Колір", "Blue": "Синій", "Green": "Зелений", "Black": "Чорний"
  PL: "Colour": "Kolor", "Blue": "Niebieski", "Green": "Zielony", "Black": "Czarny"
  */

  const applyTranslations = (container) => {
    Object.entries($dict).forEach(([txtorig, txtnew]) => {
      const regex = new RegExp(txtorig, "g");
      if (container.innerHTML.includes(txtorig)) {
        container.innerHTML = container.innerHTML.replace(regex, txtnew);
      }
    });
  };

  const target = document.getElementById(`shop_catalog_product_types_id_ajax`);
  if (target) {
    applyTranslations(target);

    const observer = new MutationObserver(() => {
      observer.disconnect();
      applyTranslations(target);
      observer.observe(target, { childList: true, subtree: true });
    });
    observer.observe(target, { childList: true, subtree: true });
  }

  setTimeout(() => {
    const smartSearchInput = document.querySelector(`.hotengine-smart_search_submit_button input`);
    if (smartSearchInput) smartSearchInput.value = "Anwenden";

    const searchInpButton = document.querySelector(`#searchinp_smart_search .button`);
    if (searchInpButton) searchInpButton.value = "Anwenden";
  }, 100);
})();
  </script>

Аналогічно, ви можете додати інші мови та нові слова, розміщуючи код на відповідні мовні версії сайту.

Акції (таймер зворотного відліку в магазині)

Переклад на прикладі таймера. В товарах передбачена можливість автоматичного створення таймера зворотного відліку. При додаванні товару натисніть галочку "Акційний товар", і в блоці, що з'явився, натисніть "Увімкнути таймер". Встановіть термін закінчення таймера. Після закінчення вказаного терміну можна задати дію, наприклад, видалити акцію або змінити ціну...

Як змінити написи в таймері?

За допомогою CSS стилів можна замінити слова в таймері. Для цього, наприклад, в товарі вставте css html код:
Code: CSS
<style type="text/css">
<!--

/*надпись осталось до конца*/

:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-day:after{
   content:"дней";
}
:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-hourse:after{
   content:"часов";
}
:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-minute:after{
   content:"минут";
}
:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-seconds:after{
   content:"секунд";
}
:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-left:after{
   content:"осталось до конца акции!";
}
:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-done:after{
   content:"Акция завершена!";
}


:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-day:after{
   content:"days";
}
:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-hourse:after{
   content:"hours";
}
:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-minute:after{
   content:"minute";
}
:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-seconds:after{
   content:"seconds";
}
:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-left:after{
   content:"left before the end of the campaign!";
}
:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-done:after{
   content:"Сampaign complete!";
}


:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-day:after{
    content:"dni";
}
:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-hourse:after{
    content:"godziny";
}
:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-minute:after{
    content:"minuty";
}
:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-seconds:after{
    content:"sekundy";
}
:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-left:after{
    content:"pozostało do końca promocji!";
}
:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-description-akciya-countdown-l-done:after{
    content:"Ackia ukończona!";
}






:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{
   content:"дней";
}
:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{
   content:"часов";
}
:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{
   content:"минут";
}
:lang(ru) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{
   content:"секунд";
}




:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{
   content:"days";
}
:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{
   content:"hours";
}
:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{
   content:"minute";
}
:lang(en) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{
   content:"seconds";
}



:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{
   content:"днів";
}
:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{
   content:"годин";
}
:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{
   content:"хвилин";
}
:lang(uk) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{
   content:"секунд";
}


:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-days:after{
   content:"dni";
}
:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-hours:after{
   content:"godziny";
}
:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-minutes:after{
   content:"minuty";
}
:lang(pl) #hotengine-shop-product-description-akciya-countdown-block .hotengine-shop-product-akciya-countdown-numbers-seconds:after{
   content:"sekundy";
}


-->
</style>


lang(en) або lang(ru) - це мова, для якої буде відповідний напис, а далі задано сам блок, для якого змінити напис.


Як використовувати Таймер на інших сторінках?
Вставте наступний код для використання нашого лічильника зворотного відліку:
Code: JavaScript
<div id="hotengine-shop-product-description-akciya-countdown-block"><div id="hotengine-shop-product-description-akciya-countdown"></div><div class="hotengine-shop-product-akciya-countdown-numbers"><span class="hotengine-shop-product-akciya-countdown-numbers-days"><i></i></span><span class="hotengine-shop-product-akciya-countdown-numbers-hours"><i></i></span><span class="hotengine-shop-product-akciya-countdown-numbers-minutes"><i></i></span><span class="hotengine-shop-product-akciya-countdown-numbers-seconds"><i></i></span></div><span class="hotengine-shop-product-description-akciya-countdown-l-left"></span></div>  

<link rel="stylesheet" type="text/css" href="/templates/javascript_timer_countdown/hotengine_timer_countdown.css" />
<script src="/templates/javascript_timer_countdown/hotengine_timer_countdown.js"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
    let timerperiod = 5 * 12 * 60 * 60 * 1000; // timer period, in the example 5 days 12 hours ( 5*12 ...) (for example, here the date is constantly shifting, i.e. current date + XX days.)

    // cookies last visit (subtract last visit time)
    let cookieName = `cookie_lastvisit_countdown_timer`;
    let cookieValue = document.cookie.split(`;`).find(c => c.trim().startsWith(`${cookieName}=`))?.split(`=`)[1];
    
    let cookie_lastvisit_minus = 0;
    if (cookieValue && cookieValue !== "null") {
        cookie_lastvisit_minus = new Date().getTime() - parseInt(cookieValue);
    } else {
        cookie_lastvisit_minus = 0;
    }

    let checkdate = timerperiod - cookie_lastvisit_minus; // to check the date of the last visit and the end of the promotion
    let counterdisable = false;

    if (checkdate > 0) {
        counterdisable = false;
    } else {
        cookie_lastvisit_minus = 0;
        counterdisable = true;
    }

    let cookie_lastvisit_countdown_timerv = new Date().getTime() - cookie_lastvisit_minus;
    document.cookie = `${cookieName}=${cookie_lastvisit_countdown_timerv}; path=/;`;
    // cookies last visit (subtract last visit time)

    let ts = new Date().getTime() + timerperiod - cookie_lastvisit_minus; // set the promotion end date
    hotengine_inittimer("hotengine-shop-product-description-akciya-countdown-block", new Date(ts));
});
</script>

Щоб змінити написи лічильника, відкрийте файл стилю /templates/javascript_timer_countdown/hotengine_timer_countdown.css, скопіюйте його код, і вставивши на сторінку змініть написи.

Зміна блоків сайту та редактор дизайну

Основні блоки сайту та способи зміни дизайну

Основні блоки сайту

ID та Class'и основних блоків сайту.





#hotengine-wrapper

#hotengine-header

GRID *
#hotengine-content-container
.hotengine-wrap-container-side-left .menu_position_top .hotengine-wrap-container-side-right
#hotengine-content
.hotengine-wrap-container-side-center
«тип сторінки»


.menu_position_buttom


#hotengine-footer


* - Основний внутрішній блок з контентом реалізований за допомогою CSS Grid:
CSS Grid
Code: CSS
/*CONTENT GRID*/

#hotengine-content-container { display: grid;
  grid-template-areas:"container-left container-center container-right";
  grid-template-columns:0% 1fr 0%;
  margin:0 auto; width:100%;
}

#hotengine-content-container[data-hasside="both"]{
  grid-template-areas:"container-left container-center container-right";
  grid-template-columns: auto 1fr auto;
}
#hotengine-content-container[data-hasside="left"]{
  grid-template-areas:"container-left container-center";
  grid-template-columns: auto 1fr;
}
#hotengine-content-container[data-hasside="right"]{
  grid-template-areas:"container-center container-right";
  grid-template-columns: 1fr auto;
}

.hotengine-wrap-container-side-center { grid-area: container-center; vertical-align:top; margin:0 auto; width:100%;}
.hotengine-wrap-container-side-left   { grid-area: container-left; vertical-align:top; margin:0 auto; width:auto; max-width:270px;  }
.hotengine-wrap-container-side-right  { grid-area: container-right; vertical-align:top; margin:0 auto; width:auto; max-width:270px; }

.menu_position_top { display:block;    width:100%;  }
.menu_position_buttom { display:block; width:100%; }

@media (max-width:767px){
#hotengine-content-container[data-hasside="both"]{
  grid-template-areas:"container-center container-left container-right";
  grid-template-columns: 1fr auto auto;
}
#hotengine-content-container[data-hasside="left"]{
  grid-template-areas:"container-center container-left";
  grid-template-columns: 1fr auto ;
}
#hotengine-content-container[data-hasside="right"]{
  grid-template-areas:"container-center container-right";
  grid-template-columns: 1fr auto ;
}
}
/*CONTENT GRID*/

data-hasside - додатковий атрибут елемента #hotengine-content-container, який повідомляє про наявність лівого та правого блоку.
  • [data-hasside="left"] - присутній лівий блок/меню
  • [data-hasside="right"] - присутній правий блок/меню
  • [data-hasside="both"] - присутній лівий та правий блок/меню


Всередині даних блоків буде розташовуватися створений вами контент або меню.
Кожен «тип сторінки» виділений відповідним блоком, з присвоєнням певного ID.
Наприклад:
  • Сторінки - #hotengine-content-page
  • Каталог статей - #hotengine-content-blog
  • Каталог товарів - #hotengine-content-shop
  • Каталог товарів (виробники) - #hotengine-content-shop
  • Каталог товарів (колекції) - #hotengine-content-shop

Даний блок створюється всередині елемента #hotengine-content

Крім того, на сторінках категорій, де є дочірній список сторінок, додається class:
  • Каталог товарів - .hotengine-content-shop-category
  • Каталог товарів (колекції) - .hotengine-content-shop-collection
  • Каталог товарів (виробники) - .hotengine-content-shop-producer
  • Каталог статей - .hotengine-content-blog-category

Для Блоків/Меню списку статей створюється додатковий блок (можна вимкнути в налаштуваннях):
Меню останніх статей - #hotengine-content-menu-lastblogpost

Як змінювати дизайн сайту

Ви можете змінити дизайн сайту в Редакторі дизайну. За його допомогою можна задати основні кольори елементів, розміри та положення деяких елементів, змінити Шапку сайту та інше.
За допомогою вказівника миші ви можете змінити висоту шапки сайту, розмір логотипу, положення головного меню та слогана.


Як створити власний дизайн Шапки сайту?


Створіть Блок/Меню з розташуванням в Header (Шапці сайту) та розмістіть в ньому необхідні елементи. Наприклад, Div з телефоном та Div з написом про компанію (не забудьте присвоїти їм відповідний class або id, для подальшого звернення до них за заданими значеннями).
Відкрийте редактор дизайну, задайте положення та властивості дизайну до створених елементів в CSS стилях.
Таким же чином можна створювати будь-які графічні елементи на сайті та розташовувати їх в потрібних вам місцях.
Використання вбудованих елементів та коротких кодів для верстки.
Крім створення власних елементів, на платформі BooStore.pro існує ряд заздалегідь заданих класів та ID, які дозволяють швидко та зручно використовувати базові елементи магазину без необхідності писати їх з нуля.

Які елементи вже мають вбудовані класи або ID:
  • Кнопка «Додати в кошик»
  • Кошик
  • Іконка «Додати в обране»
  • Іконка «Додати в порівняння»
  • Всі базові елементи картки товару: ціна, наявність, характеристики, блок з описом, вкладки в картці товару
  • Заголовки сторінок
  • Віджети з товарами
  • Мобільне меню
  • Заголовки різновидів товару
  • Кожна сторінка має унікальний клас або ID, а батьківський елемент id="hotengine-wrapper" містить ідентифікатор поточної відкритої сторінки.
Більшість функціональних елементів на сайті вже мають унікальні ідентифікатори (ID) або класи, які не будуть змінені при оновленнях платформи, і їх можна використовувати при створенні власної верстки або дизайну сторінок.

Як використовувати вбудовані елементи у своєму дизайні:
Для вставки деяких елементів у ваш власний макет або шаблон можна використовувати короткі коди.
Наприклад:
  • Іконка Кошика з його вмістом
  • Іконка «Додати в кошик»
  • Іконка «Додати в обране»
  • Іконка «Порівняння товарів» з її вмістом
  • Віджети
Використання коротких кодів дозволяє швидко та коректно інтегрувати стандартні елементи магазину у вашу власну верстку без помилок.

Рекомендації щодо CSS:
  • Прописуйте CSS-стилі в редакторі дизайну платформи.
  • Файл автоматично мініфікується (стискається), що прискорює роботу сайту та покращує SEO.
  • Можна створювати індивідуальні стилі для будь-яких елементів, включаючи вбудовані ID та класи, а також для власних блоків, щоб повністю контролювати зовнішній вигляд сайту.
За допомогою вбудованих класів, ID та коротких кодів ви можете створювати професійні та унікальні макети, комбінуючи свої блоки з готовими елементами платформи. Це дозволяє скоротити час розробки та гарантувати коректне відображення всіх функцій магазину.

Як скинути дизайн?

Для того щоб повернути значення за замовчуванням, відкрийте Редактор дизайну та видаліть поточне значення для потрібного елемента або натисніть кнопку "Повернути значення за замовчуванням".

CSS стилі

Ви можете використовувати CSS для оформлення будь-яких елементів на сайті. Для вибору елемента натисніть правою кнопкою миші по елементу та "Проінспектувати елемент". Скопіюйте ID або Class об'єкта та вставте у вкладку «CSS стилі» в редакторі дизайну.

Якщо ви використовуєте підключуваний шаблон, то його стилі мають менший пріоритет, ніж деякі зі значень, що вказуються вище. Перед використанням підключуваного шаблону рекомендуємо спочатку повернути значення дизайну за замовчуванням.

CSS стилі за замовчуванням: CSS файл Основні блоки сайту
CSS стилі текстових значень:

Шаблонізація

На даний момент ми використовуємо спеціальну розмітку для елементів, помічені класи "hotengine-", впорядковану структуру відображення елементів, а також приховані дані. Практично всі написи на сайті реалізовані за допомогою CSS after елементів.
Якщо зміщення та позиціонування елементів не вдається зробити за допомогою CSS, то ви можете використовувати Javascript та переміщати об'єкти по сторінці.
Зміна положення деяких елементів за допомогою Javascript.
Code: html
<script>
document.addEventListener("DOMContentLoaded", () => {
    const el = document.querySelector(`.hotengine-shop-product-desc-block .hotengine-shop-product-producer`);
    const newproducer = el ? el.innerHTML : null;

    if (newproducer && newproducer !== "" && newproducer !== "undefined") {
        el.style.display = "none";
        const skuBox = document.querySelector(`.hotengine-shop-product-sku-box`);
        if (skuBox) {
            skuBox.insertAdjacentHTML("afterend", `${newproducer}`);
        }
    }
});
</script>


В даному прикладі ми перевіряємо, чи вказаний виробник. Якщо виробник вказаний, то приховати його та розмістити після поля "Код товару".

"Обгортання" елементів за допомогою Javascript.
Code: html
<script>
  document.addEventListener("DOMContentLoaded", () => {
    document.querySelectorAll(`.element`).forEach(el => {
        const wrapper = document.createElement("div");
        wrapper.className = "new";
        el.parentNode.insertBefore(wrapper, el);
        wrapper.appendChild(el);
    });
});
</script>

В результаті об'єкт з класом element буде "обгорнутий" в div з класом new (<div class="new"><span class="element"></span></div>)

Шаблони

Крім базових стилів в редакторі дизайну ви можете встановлювати готові шаблони.
Каталог шаблонів - https://templates.boostore.pro/

Редактор

На платформі передбачений HTML редактор TinyMCE, через який можна здійснювати оформлення сторінок, карток товарів, статей та блоків/меню. В редакторі реалізована вставка зображень та готових «Кодів» для відображення рубрик магазину, списку товарів, списку статей на будь-які сторінки. Вбудовані коди дозволяють вставляти, наприклад, на головну сторінку список певних товарів із заданими параметрами (генератор списку товарів окрема інструкція) або список категорій, у тому числі в Блоки/Меню (Віджет з категоріями магазину).

Демонстрація редактора

Оформлення тексту на BooStore.pro за допомогою ШІ

Оформлення сторінок і стилів за допомогою ШІ

Цей гайд навчить вас створювати професійний дизайн для ваших товарів, використовуючи Штучний Інтелект (Gemini, ChatGPT) та вбудовані інструменти платформи.

1. Теорія: Базові поняття (CSS, Класи, ID)

Перш ніж давати завдання ШІ, потрібно зрозуміти, як браузер сприймає дизайн.

CSS (Cascading Style Sheets) Це «мова краси». Якщо HTML — це скелет сторінки, то CSS — це одяг, макіяж та зачіска. Він каже браузеру: «Зроби цей текст червоним, а цю кнопку круглою».
ID (#) — Ідентифікатор Це унікальне ім'я елемента. Як номер паспорта. На одній сторінці не може бути двох однакових ID. У CSS позначається решіткою.
Приклад: #tabs-1
Class (.) — Клас Це групове ім'я. Як форма у школярів. Можна застосувати один клас до десятків елементів. У CSS позначається крапкою.
Приклад: .my-price-style

Як знаходити елементи (Інспектор браузера)

Щоб ШІ знав, що саме фарбувати, потрібно знайти ID блоку в Hotlist:

  1. Відкрийте картку товару на сайті.
  2. Натисніть правою кнопкою миші на назву вкладки або текст.
  3. Виберіть «Переглянути код» (або Inspect).
  4. Відкриється панель. Шукайте рядок, який підсвічує потрібний блок. Наприклад:
    <div id="tabs-1">...</div>

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

В інспекторі браузера ви можете побачити ієрархію (дерево) елементів: кожен блок знаходиться всередині іншого, більшого контейнера. Для вкладок у картці товару таким головним контейнером (батьком) є блок з ідентифікатором #hotengine-shop-content-tabs.

Тому, щоб оформити, наприклад, першу вкладку, ваш шлях у CSS має виглядати так: #hotengine-shop-content-tabs #tabs-1.

Такий запис буквально каже браузеру: «Знайди блок з ID tabs-1, але тільки той, що знаходиться всередині батька hotengine-shop-content-tabs».

КРОК 1: Запит до ШІ

Даємо ШІ текст і просимо створити оформлення. Обов'язково вказуємо знайдений ID.

"У мене є текст опису товару. Оформи його красиво для сайту. Розділи стилі та HTML. Використовуй світлу стилістику. Видай результат у двох блоках коду: стиль всередині тегу <style> для селектора #hotengine-shop-content-tabs #tabs-1 та окремо HTML код самого тексту."
КРОК 2: Перевірка та перенесення стилю

Ви отримали два блоки. Спочатку вставте їх обидва (і Style, і HTML) у товар на сайті, щоб переконатися, що все красиво.

Коли дизайн затверджено:

  1. Скопіюйте все, що знаходиться між тегами <style> та </style> (самі теги копіювати НЕ потрібно).
  2. Перейдіть до Панелі управління Hotlist > Дизайн сайту > Редактор дизайну > Вкладка CSS.
  3. Прокрутіть у самий низ і вставте ваш код. Збережіть. Можна додати коментар: /*Стиль тексту у вкладці товару*/
КРОК 3: Очищення тексту (Критично важливо!)

Після того як ви зберегли стиль у Редакторі дизайну, його потрібно видалити з тексту товару. Якщо ви цього не зробите, код буде дублюватися, що сповільнить сайт і може створити помилки.

Як це виглядає:

// БУЛО В КАРТЦІ ТОВАРУ:
<style> #tabs-1 { background: #000; } </style>
<div class="my-content"> Ваш текст... </div>

// СТАЛО В КАРТЦІ ТОВАРУ (Правильно):
<div class="my-content"> Ваш текст... </div>
(Стиль тепер живе в Редакторі дизайну)

Це дає перевагу: тепер при внесенні будь-яких правок у CSS в Редакторі дизайну, стиль автоматично оновиться в усіх картках товару — це швидко та зручно.

Шпаргалка: Структура та селектори BooStore.pro

Весь ваш контент створюється всередині елемента #hotengine-content. Використовуйте ці дані для точних запитів у чат ШІ:

Вкладки в картці товару (Tabs)
Для кожної вкладки використовуйте зв'язку батька та ID:
• Вкладка 1: #hotengine-shop-content-tabs #tabs-1
• Вкладка 2: #hotengine-shop-content-tabs #tabs-2
• Вкладка 3: #hotengine-shop-content-tabs #tabs-3
• Вкладка 4: #hotengine-shop-content-tabs #tabs-4
Повний опис товару (не у вкладці)
Шлях до основного блоку опису:
.hotengine-shop-product-desc-block .hotengine-shop-product-description-text
Блог та Статті (Каталог та повна сторінка)
• Текст короткого опису в каталозі:
#hotengine-content-blog #page_content .hotengine-blog-page-list-block .contenth .contenth_i

• Текст повної статті на окремій сторінці:
#hotengine-content-blog #page_content .contenth .contenth_i
ID та Класи основних розділів
• Сторінки: #hotengine-content-page
• Каталог статей: #hotengine-content-blog
• Каталог товарів: #hotengine-content-shop

Уточнюючі класи (для категорій/колекцій):
• Категорія товарів: #hotengine-content-shop.hotengine-content-shop-category
• Колекції: #hotengine-content-shop.hotengine-content-shop-collection
• Виробники: #hotengine-content-shop.hotengine-content-shop-producer
• Категорія статей: .hotengine-content-blog-category

Корисна порада: За цією ж аналогією ви можете оформити не тільки описи, а й характеристики, блоки доставки або спеціальні вкладки. Один раз налаштувавши стиль у Редакторі дизайну, ви зможете наповнювати тисячі товарів у єдиному брендовому стилі, просто копіюючи чистий HTML з чату ШІ.




Статистика

Google Analytics:


Ви можете включити відстеження відвідувачів за допомогою Google Analytics на сторінці Налаштування, у вкладці Статистика/Google Analytics.

При використанні тегів відстеження будуть передаватися стандартні події електронної комерції для Google Analytics 4 або Google Tag Manager. Крім того, на сторінці оформлення замовлення або відправки форми можна додатково встановити власні коди конверсії.
Опис подій:
Google Analytics 4: https://developers.google.com/analytics/devguides/collection/ga4/events
Google Tag Manager: https://developers.google.com/tag-platform/tag-manager/datalayer
Крім того, ви зможете реалізувати передачу власних тегів, використовуючи JavaScript, Короткі коди та Мікророзмітку hotengine-markers, які дозволяють замінювати динамічні дані.

  • add_to_cart – додавання товару в кошик
  • add_to_wishlist – додавання товару в обране
  • begin_checkout – початок оформлення замовлення
  • purchase – успішне оформлення замовлення
  • remove_from_cart – видалення товару з кошика
  • search – пошук по сайту
  • select_item – вибір різновиду товару
  • generate_lead – відправка даних через форму
  • sign_up – реєстрація
  • view_cart – перегляд кошика
  • view_item – перегляд картки товару
  • view_item_list – перегляд списку товарів (категорія, підбірка, рекомендації тощо)

Facebook Pixel:


 Ідентифікатор відстеження Facebook Pixel можна вказати в загальних налаштуваннях сайту, у вкладці «Статистика». Піксель буде передавати дані про відвідування сторінок (PageView), події додавання товару в кошик (AddToCart), перегляд товару (ViewContent), початок (InitiateCheckout) та завершення оформлення замовлення (Purchase). Вартість товару формується в USD за курсом вашого сайту.

Крім того, ви можете створити блок меню для генерації пікселя з даними про товар самостійно.
Інструкція

Увага! При створенні коду пікселя не через налаштування сайту, обов'язково потрібно попередньо додавати основний код пікселя. Для цього створіть блок/меню з основним кодом пікселя та розташуйте в службових тегах, що відображається на всіх сторінках. При цьому в загальних налаштуваннях сайту код пікселя вказувати не потрібно. Якщо код пікселя в основних налаштуваннях вказаний, то код Products Merchant Facebook на сайті вже встановлений.

Блок меню для генерації пікселя з даними про товар


Створіть блок/меню з наступним кодом:
Code: JavaScript
<script>
fbq('track', 'ViewContent', {
content_name: '{HOTENGINE-SC:shop_cat_page_title}',
content_ids: ['{HOTENGINE-SC:shop_cat_page_id}'],
content_type: 'product',
value: {HOTENGINE-SC:shop_cat_page_price},
currency: '{HOTENGINE-SC:shop_cat_page_currency_iso}'
});
</script>


Показувати Блок/Меню на сторінках: Тільки на сторінках Магазину
Введіть символи, при виявленні яких відображати Блок/Меню: htm
Введіть символи, при виявленні яких не відображати Блок/Меню: cart



Якщо необхідно додати подію після відправки заявки через Форму, то після тексту про успішне відправлення даних додайте наступний код:
Code: html
<script>
fbq('track', 'Purchase');
</script>

Реферальні хвости:

    На сайті доступне використання Реферальних хвостів. При замовленні товарів або відправці листа через зворотній зв'язок, до листа будуть додані дані про джерело переходу на ваш сайт. Також при використанні UTM закінчень (Компонувальник URL) ці дані будуть додані до листа.
    Крім стандартних даних компонувальника доступний поділ джерела за групами, які використовуються в статистиці продажів для розділення джерел та більш зручного підрахунку конверсій. Значення групи можна задати за допомогою GET змінної "hotengine_referral_group". Якщо значення не вказано, і вказаний utm_source, то воно буде використане для вказання групи hotengine_referral_group.
    Дані про джерело переходу можуть бути приховані налаштуваннями браузера відвідувача або за допомогою захищеного протоколу сайту джерела. Крім того, ви можете додатково групувати замовлення за допомогою змінної "shop_cart_statistic_group" в посиланні, або вручну після оформлення замовлення.

    Увімкнути Реферальні хвости ви можете на сторінці Налаштування, у вкладці Статистика.

    Приклад посилання з UTM розміткою:
    https://boostore.pro/?utm_source=google&utm_medium=cpc&utm_term=slova&utm_content=soderjimoe&utm_campaign=nazvnie

    Приклад посилання з авторозміткою Яндекс Директ та UTM розміткою:
    https://boostore.pro/?utm_source=yandex_{source_type}&utm_medium=cpc&utm_term={keyword}&utm_campaign=id:{campaign_id}&utm_content=ad:{ad_id}|gbid:{gbid}|phrase:{phrase_id}|param1:{param1}|position_type:{position_type}|position:{position}|source:{source}|source_type:{source_type}|param2:{param2}
    Повна інструкція

    Приклад посилання з авторозміткою Google Adwords та UTM розміткою:
    https://boostore.pro/?utm_source=google_adwords_{network}&utm_medium=cpc&utm_term={keyword}&utm_campaign={campaignid}&utm_content=creative:{creative}|from:{ifsearch:search}{ifcontent:content}|matchtype:{matchtype}|adgroupid:{adgroupid}|feeditemid:{feeditemid}|targetid:{targetid}|device:{device}|adposition:{adposition}|placement:{placement}|network:{network}|param1:{param1}|param2:{param2}
    Повна інструкція

Інтеграція з «1С», «ERP», CRM-системами та CommerceAPI

Автоматичний експорт при замовленні / Відправка POST даних про замовлення у JSON форматі

Автоматичний експорт при замовленні ви можете включити в налаштуваннях сайту, у вкладці «Магазин», вказавши шлях для відправки даних.
На вказану адресу буде відправлятися POST запит, з усіма даними про замовлення, в тому числі контактні дані замовника та перелік товарів. Контактні дані та інформація про замовлення буде передаватися у JSON форматі, POST запитом.
Наприклад, в 1С ви можете реалізувати прийом замовлень через «HTTP сервіс»->«SiteExchange» -> «POSTData»

Після оформлення замовлення, на вказану вище адресу буде відправлений POST запит з наступними даними:
 Code: JSON
{
  "ORDER": {
    "buyer_name": "NAME",
    "buyer_soname": "SONAME",
    "buyer_phone": "PHONENUMBER123",
    "buyer_email": "email@email.com",
    "buyer_address": "ADDRESS",
    "delivery_storehouse_title": "Extend PICKUP POINT (Selected)",
    "buyer_address_eform0": "Extend ADDRESS (Selected)",
    "buyer_address_eform1": "Extend ADDRESS (Region)",
    "buyer_address_eform2": "Extend ADDRESS (City)",
    "buyer_address_eform3": "Extend ADDRESS (Street)",
    "buyer_address_eform4": "Extend ADDRESS (Home number)",
    "buyer_address_eform5": "FLAT",
    "buyer_address_eform6": "Extend ADDRESS (Branch number)",
    "buyer_sendedtext": "ADD TEXT",
    "post": "1596538754",
    "lang": "en",
    "form_delivery": "",
    "form_delivery_country_code": "",
    "order_id": "XXXXX",
    "customer_id": "XXXX",
    "order_discount": "",
    "order_hash": "55d4ed2ed42b2c116d9927c2b2ce7fef",
    "time": "2025-06-28T12:31:49+00:00",
    "delivery": "",
    "delivery_id": 0,
    "abtesting": 0,
    "referral_group": "",
    "group": "",
    "referral_url": "https://boostore.pro/....",
    "referral_utm": "",
    "site_id": "10954",
    "site_url": "boostore.pro",
    "transaction_id": "XXXXX",
    "total": 2264,
    "currency": "UAH",
    "shipping": "0",
    "items": [
      {
        "id": "284430",
        "name": "Adidas Originals Streetball Trainers FX9701 (42)",
        "sku": "200976_42",
        "sku_parent": "200976",
        "variant": "42",
        "category": "sport_shoes",
        "quantity": "1",
        "price": "686",
        "currency": "UAH",
        "variations_id": "409151"
      },
      {
        "id": "284436",
        "name": "Shoe bag with pocket Kite Education College",
        "sku": "200982",
        "sku_parent": "200982",
        "variant": "",
        "category": "bags_for_shoes",
        "quantity": "1",
        "price": "736",
        "currency": "UAH",
        "variations_id": 0
      },
      {
        "id": "284438",
        "name": "ASICS Gel-Venture 8 Gs Trainers (43)",
        "sku": "200984_43",
        "sku_parent": "200984",
        "variant": "43",
        "category": "sport_shoes",
        "quantity": "1",
        "price": "842",
        "currency": "UAH",
        "variations_id": "409154"
      }
    ]
  }
}


Якщо після відправки запиту, ваш сервіс поверне JSON дані з вмістом «Number» або «crm_order_id», то до замовлення буде додано зовнішній номер замовлення.

Автоматичний експорт статистики продажів / Відправка POST даних про замовлення у JSON форматі

Автоматичний експорт статистики продажів ви можете включити в налаштуваннях сайту, у вкладці «Магазин», вказавши шлях для відправки даних.
На вказану адресу буде відправлятися POST запит, з усіма даними про замовлення, які змінюються в Статистиці продажів. Інформація буде передаватися POST запитом у JSON форматі.
Наприклад, в 1С ви можете реалізувати прийом замовлень через «HTTP сервіс»->«SiteExchange» -> «POSTData»
Крім того ви можете включити зовнішній доступ до вашої статистики, вказавши «Ключ для доступу до статистики продажів».

Після зміни статусу замовлення (крім швидкого редагування статусів), на вказану вище адресу буде відправлений POST запит у JSON форматі з наступними даними:
 Code: JSON
{
  "ORDER": {
    "crm_order_id": "123",
    "total": "2264",
    "currency": "UAH",
    "discount": "",
    "discount_before": "",
    "total_before": "2264",
    "currency_before": "UAH",
    "shop_cart_statistic_selldone_datestump_unsted": "0",
    "status": "0",
    "status_pay": "0",
    "allow_online_pay": "0",
    "status_for_customer": "0",
    "delivery_status": "0",
    "products_preview": "",
    "admin_note": "",
    "delivery_selected_id_before": "3482",
    "delivery_selected_id": "3482",
    "delivery_track_id": "",
    "delivery_track_id_link": "",
    "buyer_name": "NAME SONAME",
    "buyer_phone": "PHONENUMBER123",
    "buyer_address": "ADDRESS",
    "buyer_address_eform0": "Extend ADDRESS (Selected)",
    "buyer_address_eform1": "Extend ADDRESS (Region)",
    "buyer_address_eform2": "Extend ADDRESS (City)",
    "buyer_address_eform3": "Extend ADDRESS (Street)",
    "buyer_address_eform4": "Extend ADDRESS (Home number)",
    "buyer_address_eform5": "Extend ADDRESS (Flat)",
    "buyer_address_eform6": "Extend ADDRESS (Branch number)",
    "buyer_email": "email@email.com",
    "payment_method": "PaymentMethod (Selected)",
    "group": "",
    "referral_group": "",
    "referral_url": "http://boostore.pro",
    "referral_utm": "",
    "site_manager_id_operator": "1",
    "buyer_id": "16532",
    "manager_id_operator": "0",
    "order_products": "284430|284436|284438",
    "order_products_sku": "200976_42|200982|200984_43",
    "order_products_num": "1|1|1",
    "order_products_variations_id": "409151|407678|409154",
    "order_products_prices": "686|736|842",
    "order_products_currency": "UAH|UAH|UAH",
    "order_products_titles": "Adidas Originals Streetball Trainers FX9701|Shoe bag with pocket Kite Education College|ASICS Gel-Venture 8 Gs Trainers",
    "order_products_variations_titles": "42||43",
    "order_products_prices_without_discount": "||",
    "post": "1596578917",

    "Save": "Save",
    "order_id": 63738,
    "order_discount": "",
    "time": "2025-06-28T12:31:49+00:00",
    "delivery": null,
    "delivery_id": "3482",
    "referral_group": "",
    "group": "",
    "referral_url": "http://boostore.pro/ru/pers_shop/sport_shoes/284438.htm",
    "referral_utm": "",
    "site_url": "boostore.pro",
    "transaction_id": 63738,
    "crm_oder_id": "123",
    "total": "2264",
    "currency": "UAH",
    "items": [
      {
        "id": "284430",
        "name": "Adidas Originals Streetball Trainers FX9701",
        "sku": "200976_42",
        "variant": "42",
        "quantity": "1",
        "price": "686",
        "currency": "UAH",
        "variations_id": "409151",
        "price_without_discount": ""
      },
      {
        "id": "284436",
        "name": "Shoe bag with pocket Kite Education College",
        "sku": "200982",
        "variant": "",
        "quantity": "1",
        "price": "736",
        "currency": "UAH",
        "variations_id": "407678",
        "price_without_discount": ""
      },
      {
        "id": "284438",
        "name": "ASICS Gel-Venture 8 Gs Trainers",
        "sku": "200984_43",
        "variant": "43",
        "quantity": "1",
        "price": "842",
        "currency": "UAH",
        "variations_id": "409154",
        "price_without_discount": ""
      }
    ]
  }
}
'status' - '3', статус угоди // 0 - Не оброблено, 1 - Замовлення в обробці, 3 - Оброблено, 2 - Скасовано, 5 - Скасовано (Немає в наявності), 6 - Скасовано (Відмова), delete - Видалити замовлення

'status_pay' - '0', Статус замовлення // 0-Не вказано, 1 - Оплачено онлайн, не перевірено, 4 - Оплачено онлайн і перевірено, 2 - Оплачено, 3 - Передплачено, 5 - Очікується оплата

'status_for_customer' - '1', Статус для покупця // 0 - Не оброблено, 1 - Обробляється, 3 - Відправлено / Оброблено, 2 - Скасовано

'admin_note' - 'Примітка адміністратору'

'delivery_status' - '0', 0 - Не вказано, 1 - Доставлено, 2 - Не доставлено, 3 - Очікується відправка, 4 - Передано кур'єру, 5 - В дорозі, 6 - Відправлено на поштове відділення, 7 - Відправлено на адресу отримувача, 8 - Доставлено на поштове відділення, 9 - Доставлено на адресу отримувача

'crm_order_id' - 'XXX', Зовнішній код замовлення (для використання в сторонніх CRM)

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


При зміні товарів у замовленні, відправляється JSON запит з переліком item, а також номер замовлення:
 Code: JSON
{
  "ORDER": {
    "crm_order_id": "123",
    "order_id": 63738,
    "total": "2264",
    "currency": "UAH",
    "discount": "",
    "discount_before": "",
    "total_before": "2264",
    "currency_before": "UAH",
    "shop_cart_statistic_selldone_datestump_unsted": "0",
    "status": "0",
    "status_pay": "0",
    "allow_online_pay": "0",
    "status_for_customer": "0",
    "delivery_status": "0",
    "products_preview": "",
    "admin_note": "",
    "delivery_selected_id_before": "3482",
    "delivery_selected_id": "3482",
    "delivery_track_id": "",
    "delivery_track_id_link": "",
    "buyer_name": "NAME SONAME",
    "buyer_phone": "PHONENUMBER123",
    "buyer_address": "ADDRESS",
    "buyer_address_eform0": "Extend ADDRESS (Selected)",
    "buyer_address_eform1": "Extend ADDRESS (Region)",
    "buyer_address_eform2": "Extend ADDRESS (City)",
    "buyer_address_eform3": "Extend ADDRESS (Street)",
    "buyer_address_eform4": "Extend ADDRESS (Home number)",
    "buyer_address_eform5": "Extend ADDRESS (Flat)",
    "buyer_address_eform6": "Extend ADDRESS (Branch number)",
    "buyer_email": "email@email.com",
    "payment_method": "PaymentMethod (Selected)",
    "group": "",
    "referral_group": "",
    "referral_url": "http://boostore.pro",
    "referral_utm": "",
    "site_manager_id_operator": "1",
    "buyer_id": "16532",
    "manager_id_operator": "0",
    "order_products": "284430|284436|284438",
    "order_products_sku": "200976_42|200982|200984_43",
    "order_products_num": "1|1|1",
    "order_products_variations_id": "409151|407678|409154",
    "order_products_prices": "686|736|842",
    "order_products_currency": "UAH|UAH|UAH",
    "order_products_titles": "Adidas Originals Streetball Trainers FX9701|Shoe bag with pocket Kite Education College|ASICS Gel-Venture 8 Gs Trainers",
    "order_products_variations_titles": "42||43",
    "order_products_prices_without_discount": "||",
    "post": "1596578917",

    "Save": "Save",
    
    "order_discount": "",
    "time": "2025-06-28T12:31:49+00:00",
    "delivery": null,
    "delivery_id": "3482",
    "referral_group": "",
    "group": "",
    "referral_url": "http://boostore.pro/ru/pers_shop/sport_shoes/284438.htm",
    "referral_utm": "",
    "site_url": "boostore.pro",
    "transaction_id": 63738,
    

    "items": [
      {
        "id": "284430",
        "name": "Adidas Originals Streetball Trainers FX9701",
        "sku": "200976_42",
        "variant": "42",
        "quantity": "1",
        "price": "686",
        "currency": "UAH",
        "variations_id": "409151",
        "price_without_discount": ""
      },
      {
        "id": "284436",
        "name": "Shoe bag with pocket Kite Education College",
        "sku": "200982",
        "variant": "",
        "quantity": "1",
        "price": "736",
        "currency": "UAH",
        "variations_id": "407678",
        "price_without_discount": ""
      },
      {
        "id": "284438",
        "name": "ASICS Gel-Venture 8 Gs Trainers",
        "sku": "200984_43",
        "variant": "43",
        "quantity": "1",
        "price": "842",
        "currency": "UAH",
        "variations_id": "409154",
        "price_without_discount": ""
      }
    ]
  }
}

Доступ до статистики продажів / JSON


Вкажіть ключ для доступу до статистики продажів в налаштуваннях, у вкладці «Магазин». Якщо вам необхідно отримати доступ до статистики продажів зовнішнім додатком, то ви можете виконати (POST/GET або AJAX) запит за адресою «/ajax.php?statistic_sell»

При цьому необхідно вказати ключ у запиті, з шифруванням MD5. Наприклад, якщо у вас вказано ключ «123», то в запиті це буде «202cb962ac59075b964b07152d234b70».

В такому випадку запит буде виглядати так: «/ajax.php?statistic_sell&key=202cb962ac59075b964b07152d234b70»
В запиті можна вказати дані для сортування або пошуку (GET/POST параметри), які можна взяти на вашій сторінці статистики продажів в адмін-центрі (/page.php?p=statistic_sell&mystat). Сортування та вибір параметрів здійснюється GET/POST запитом, наприклад, «&sort_dateperiod=1week» означає, що буде відображатися статистика продажів за тиждень.

Дані відображаються у JSON форматі.

Зверніть увагу, що якщо ви використовуєте відкриті для відвідувачів запити на сторінці, то за допомогою вашого ключа вони зможуть отримати доступ до вашої статистики продажів.

Доступ до прайсу магазину / Повне вивантаження прайсу в CSV


Вкажіть ключ для доступу до прайсу магазину в налаштуваннях, у вкладці «Магазин». Повне вивантаження прайсу знаходиться за адресою «/csv_export_products.csv»

При цьому необхідно вказати ключ у запиті, з шифруванням MD5. Наприклад, якщо у вас вказано ключ «123», то в запиті це буде «202cb962ac59075b964b07152d234b70».

В такому випадку запит буде виглядати так: «/csv_export_products.csv?key=202cb962ac59075b964b07152d234b70»
В запиті можна вказати дані для сортування та вибірки полів, які можна взяти на вашій сторінці експорту в адмін-центрі (/page.php?p=submit_catalog_page&subpage&export_from_shop). Сортування та вибір параметрів здійснюється GET/POST запитом, наприклад, «&export_product_access=export_product_access» означає, що буде вивантажуватися поле з даними про доступ до товару.

Дані відображаються у CSV форматі.

Файл вивантаження кешується для зменшення навантаження та оновлюється раз на добу. Видалити кеш можна за допомогою кнопки «Очистити кеш XML/CSV вивантажень».

Приклад: https://templatedemo437544.boostore.pro/csv_export_products.csv?key=202cb962ac59075b964b07152d234b70

Додатково реалізовано механізм обміну даними через API, схожий з WooCommerce API. API дозволяє отримувати та оновлювати інформацію про замовлення та товари, а також категорії. Інструкції та налаштування в розділі «Магазин» - «Обмін даними JSON Commerce API».

Commerce API (Products/Categories/Sales Statistics)

Commerce API — Короткий мануал за методами

Ключ доступу

Для роботи з API потрібен ключ доступу (Consumer Secret), який ви створюєте в розділі «Налаштування», «Магазин», «Доступ до статистики продажів». Ключ формується на основі Ключа для доступу до статистики продажів.

Методи API (HTTP)

Всі запити йдуть на базовий URL вашого сайту, наприклад: https://site.com/api/commerce/

1. Статистика продажів

МетодURLОпис
GET /orders Отримати статистику замовлень
GET /orders/{id} Отримати статистику окремого замовлення за ID
GET /crm_orders/{id} Отримати статистику окремого замовлення за зовнішнім CRM ID
DELETE /orders/{id} Видалити замовлення за ID
DELETE /crm_orders/{id} Видалити замовлення за зовнішнім CRM ID
POST /orders Додати нове замовлення
UPDATE /orders/{id} Оновити замовлення за ID (PATCH/PUT/UPDATE)
UPDATE /crm_orders/{id} Оновити замовлення за зовнішнім CRM ID (PATCH/PUT/UPDATE)

2. Товари

МетодURLОпис
POST /products Масове додавання та оновлення товарів
GET /products Отримати список товарів
GET /products/{id} Перегляд окремого товару за ID
GET /products/sku/{sku} Перегляд окремого товару за SKU (кодом товару)
UPDATE /products/{id} Оновити товар за ID (PATCH/PUT/UPDATE)
UPDATE /products/sku/{sku} Оновити товар за SKU (кодом товару) (PATCH/PUT/UPDATE)
UPDATE /products Масове оновлення кількох товарів (PATCH/PUT/UPDATE)
DELETE /products/{id} Видалити товар за ID
DELETE /products/sku/{sku} Видалити товар за SKU (кодом товару)

3. Категорії магазину

МетодURLОпис
POST /products/categories Масове додавання та оновлення категорій
GET /products/categories Отримати список категорій товарів
GET /products/categories/{id} Отримати категорію за ID
GET /products/categories/id/{id} Отримати категорію за ID (альтернативний варіант)
GET /products/categories/name/{name} Отримати категорію за іменем
UPDATE /products/categories Масове оновлення кількох категорій (PATCH/PUT/UPDATE)
UPDATE /products/categories/{id} Оновити категорію за ID (PATCH/PUT/UPDATE)
UPDATE /products/categories/id/{id} Оновити категорію за ID (альтернативний варіант)
UPDATE /products/categories/name/{name} Оновити категорію за іменем

Параметри батьківських категорій

ПараметрТипОпис
category_parent_id int ID батьківської категорії. Використовується в першу чергу, якщо заданий.
category_parent_name string Латинське ім'я (alias / slug) батьківської категорії. Використовується, якщо category_parent_id не заданий.
category_lang string Мова категорії. Застосовується для вирішення колізій в іменах.

Принцип роботи:

  1. Спочатку перевіряється category_parent_id.
  2. Якщо він не заданий – використовується category_parent_name.
  3. При збігу імен – додається перевірка за category_lang.

Особливе правило:
Щоб додати категорію в кореневу (основну) категорію, необхідно вказати category_parent_name = "main" та обов'язково задати параметр category_lang.

Оновлення та видалення:
update_exists (bool) – якщо true, оновлює категорію при повторному додаванні.
delete (bool) – якщо true, категорія буде видалена.

4. Виробники

МетодURLОпис
POST /products/producers Масове додавання та оновлення виробників
GET /products/producers Отримати список виробників
GET /products/producers/{id} Отримати виробника за ID
GET /products/producers/id/{id} Отримати виробника за ID (альтернативний варіант)
GET /products/producers/name/{name} Отримати виробника за іменем
UPDATE /products/producers Масове оновлення кількох виробників (PATCH/PUT/UPDATE)
UPDATE /products/producers/{id} Оновити виробника за ID (PATCH/PUT/UPDATE)
UPDATE /products/producers/id/{id} Оновити виробника за ID (альтернативний варіант)
UPDATE /products/producers/name/{name} Оновити виробника за іменем

Параметри прив'язки виробників

ПараметрТипОпис
producer_parent_id int ID батьківського виробника (групи). Використовується в першу чергу.
producer_parent_name string Латинське ім'я (alias / slug) батьківського виробника.
producer_lang string Мова виробника для вирішення колізій імен.

Принцип роботи:

  1. Спочатку перевіряється producer_parent_id.
  2. Якщо він не заданий – використовується producer_parent_name.
  3. При збігу імен – додається перевірка за producer_lang.

Особливе правило:
Щоб додати виробника в кореневу (основну) групу виробників, необхідно вказати producer_parent_name = "main" та обов'язково задати параметр producer_lang.

Оновлення та видалення:
update_exists (bool) – якщо true, оновлює виробника при повторному додаванні (за замовчуванням false).
delete (bool) – якщо true, виробник буде видалений.

5. Колекції

МетодURLОпис
POST /products/collections Масове додавання та оновлення колекцій
GET /products/collections Отримати список колекцій
GET /products/collections/{id} Отримати колекцію за ID
GET /products/collections/id/{id} Отримати колекцію за ID (альтернативний варіант)
GET /products/collections/name/{name} Отримати колекцію за іменем
UPDATE /products/collections Масове оновлення кількох колекцій (PATCH/PUT/UPDATE)
UPDATE /products/collections/{id} Оновити колекцію за ID (PATCH/PUT/UPDATE)
UPDATE /products/collections/id/{id} Оновити колекцію за ID (альтернативний варіант)
UPDATE /products/collections/name/{name} Оновити колекцію за іменем

Параметри прив'язки колекцій

ПараметрТипОпис
collection_parent_id int ID батьківської колекції. Використовується в першу чергу.
collection_parent_name string Латинське ім'я (alias / slug) батьківської колекції.
collection_lang string Мова колекції для вирішення колізій імен.

Принцип роботи:

  1. Спочатку перевіряється collection_parent_id.
  2. Якщо він не заданий – використовується collection_parent_name.
  3. При збігу імен – додається перевірка за collection_lang.

Особливе правило:
Щоб додати колекцію в кореневу (основну) колекцію, необхідно вказати collection_parent_name = "main" та обов'язково задати параметр collection_lang – мова батьківської колекції.

Оновлення та видалення:
update_exists (bool) – якщо true, оновлює колекцію при повторному додаванні (за замовчуванням false).
delete (bool) – якщо true, колекція буде видалена.

6. Сортування та пагінація

Для методів /orders та /products доступні параметри для посторінкового виведення та сортування:

Параметри пагінації

ПараметрТипОпис
page int Номер сторінки (за замовчуванням 1)
per_page int К-сть елементів на сторінку (за замовчуванням 90, максимум 2000)

Параметри сортування

ПараметрТипДопустимі значенняОпис
orderby string id, title, price, date, views Поле для сортування
order string asc, desc Напрямок сортування

Параметри мови

ПараметрТипДопустимі значенняОпис
l string ru, ua, en, de, fr, es, it, pl Мова відображення значень

Додатково для замовлень

Можна фільтрувати замовлення за датою та статусом:

  • ?after=YYYY-MM-DD — Початкова дата (у форматі ISO)
  • ?before=YYYY-MM-DD — Кінцева дата
  • ?status=pending|processing|on-hold|completed|cancelled|0|1|2|3|5|6|7|8 — Статус замовлення
    • 0 — Не опрацьовані (pending)
    • 1 — Замовлення в обробці (processing)
    • 7 — Замовлення в обробці, очікує поставки (on-hold)
    • 3 — Опрацьовані (completed)
    • 8 — Опрацьовані та завершені (completed)
    • 2 — Скасовані (cancelled)
    • 5 — Скасовані: немає в наявності (cancelled)
    • 6 — Скасовані: відмова (cancelled)
  • ?show_deleted=1 — Показати приховані замовлення

Приклади

GET /orders?page=2&per_page=100&after=2024-06-01&before=2024-06-30
GET /products?orderby=price&order=asc&per_page=50

Приклад авторизації в запиті

У запиті передаються ключі:

 Code: PHP
?consumer_secret=ВАШ_СЕКРЕТ (увага не публікуйте ключ у загальний доступ!)

Або через заголовок Authorization з OAuth 1.0a.



Додати нове замовлення (POST /orders)

Щоб створити нове замовлення через API, потрібно відправити POST-запит на /orders з JSON-тілом. Обов'язково повинно бути вказано мінімум:

  • email — Email покупця (обов'язково!)
  • line_items — Список додаваних товарів

Параметри замовлення

При створенні замовлення можна вказувати додаткові поля, наприклад:

{
  "first_name": "Name",
  "last_name": "Soname",
  "email": "alex@example.com",
  "phone": "+380671112233",
  "address": "Full address of not used address eform",
  "buyer_address_eform1": "State",
  "buyer_address_eform2": "City",
  "buyer_address_eform3": "Street",
  "buyer_address_eform4": "house number",
  "buyer_address_eform5": "flat",
  "postcode": "01001",
  "total": "999",
  "status": "processing",
  "status_for_customer": "processing",
  "line_items": [ ... ]
}

Опис поля total:

  • totalфінальна сума замовлення (рядок або число). Якщо це поле вказано, воно буде використано як підсумкова ціна замовлення.
  • Якщо total не вказано, сума замовлення буде автоматично перерахована за сумою доданих товарів у line_items.
  • Поле total не є обов'язковим і може бути використано для замовлень без товарів.

Формат line_items

Параметр line_items — це масив товарів, кожен товар задається об'єктом з наступними полями:

"line_items": [
  {
    "product_id": 478734,
    "quantity": 1,
    "price": 100,
    "currency": "USD"
  },
  {
    "product_id": 478268,
    "quantity": 10,
    "variation": "51"
  },
  {
    "product_id": 478266,
    "quantity": 1,
    "variation_id": 735302
  }
]
  • product_idID товару (обов'язково!).
  • quantityКількість одиниць товару (обов'язково!).
  • price(необов'язково) Якщо вказана ціна — береться саме ця ціна і не обчислюється за даними сайту.
  • currency(необов'язково) Валюта конкретного товару (наприклад, USD або UAH). Якщо вказана та відрізняється від загальної валюти замовлення (currency), система сконвертує ціну автоматично.
  • variation_idID різновиду (варіації товару) — спосіб вказати різновид, якщо він є.
  • variationНазва або код різновиду — використовується якщо немає variation_id. Якщо вказані обидва — пріоритет у variation_id.

Важно: Якщо загальна валюта замовлення (currency) не вказана — буде використовуватися валюта за замовчуванням для сайту.

Якщо валюта товару відрізняється від загальної валюти — ціна конвертується автоматично.


Оновлення товарів

Оновлення товару здійснюється через HTTP-метод UPDATE (або PATCH/PUT) за URL із вказанням ID товару або його SKU (коду товару), або одразу кількох товарів одним запитом:

  • /products/{id} — оновлення товару за ID
  • /products/sku/{sku} — оновлення товару за кодом (SKU)
  • /products — масове оновлення кількох товарів (до 5000 за один запит)

При масовому оновленні шлях /products не містить ID або SKU. У цьому випадку необхідно передавати масив об'єктів товарів у параметрі products. Кожен елемент масиву повинен містити хоча б id або sku. Якщо вказаний id, він має пріоритет і може використовуватися для заміни коду товару (sku). Якщо id не вказаний, пошук здійснюється за sku — кодом товару.

При оновленні передається повний набір даних товару у форматі JSON. Всі передані дані замінюють існуючі значення, включаючи:

  • Основні властивості товару (назва, опис, ціни, статус та ін.)
  • Атрибути (характеристики)
  • Варіації (різновиди товару)
  • Зображення
  • Категорії та теги
  • Додаткові налаштування та мета-поля

Оновлення варіацій відбувається з використанням наступного алгоритму для кожної варіації з масиву variations:

  1. Якщо у варіації вказаний id, оновлення проводиться за ним.
  2. Якщо id відсутній, але вказаний sku (код варіації), пошук та оновлення відбувається за ним.
  3. Якщо немає ні id, ні sku, але є title (назва варіації), пошук та оновлення проводиться за назвою.
  4. Якщо варіація не знайдена за вказаними критеріями, створюється нова варіація із заданими параметрами.

Оновлення за SKU зручне, коли ID варіації невідомий, але відомий унікальний код.

При оновленні всі поля, вказані в JSON, замінять поточні значення товару; щоб залишити якесь поле без змін, просто не включайте його в запит.

  • Дублікати різновидів: якщо в масиві різновидів зустрічаються повторювані за кодом (SKU) та назвою (title), такі різновиди будуть пропущені — одна й та сама комплектація не додасться двічі.
  • Головне зображення: у масиві images головним вважається те, що під індексом 0. Якщо images[0] відсутнє або не завантажено, головним стане перше успішно завантажене зображення.
  • Максимум зображень: для одного товару можна завантажити не більше 10 зображень. Якщо спробувати завантажити більше, зайві файли будуть проігноровані.
  • Робота із зображеннями:
    • Видалення зображень: щоб видалити зображення за індексом, вкажіть для елемента масиву images значення "delete". Наприклад, images[2] = "delete" видалить файл з індексом 2. Можна видаляти та завантажувати одночасно, вказуючи кілька ключів: images[3] = "delete", images[1] = "https://...".
    • Пропуски індексів зображень: якщо вказати порожній рядок або false, цей індекс буде пропущений без помилок.
    • Перезапис зображень: параметр images_replace: якщо true, система перезапише існуючі файли зображень за переданими індексами (видалить старий файл та кеш). Якщо false або не вказаний — перезапис заборонено.
    • Пропуск зайнятих індексів: параметр images_skip_index: якщо true, то при зайнятому індексі та забороненому перезаписі система знайде наступний вільний індекс і збереже файл туди. Якщо false або не вказаний — індекс береться строго як переданий.
    • Збереження під новим індексом при конфлікті: параметр images_replace_new_index: якщо true, то при зайнятому індексі та відключених перезаписі та автоматичному пропуску файл буде збережений під новим вільним індексом. Якщо всі три параметри false або не задані та індекс зайнятий — файл не буде завантажений.

Параметри товару


Доступні значення ви можете переглянути в коді прикладів нижче. Також наведена додаткова розшифровка деяких значень, яка може бути корисною.
  • Доступні значення price_for

    Для кожного товару можна вказати параметр price_for, який задає одиницю виміру ціни. Допустимо використовувати числовий код або текст (наприклад, «За 1 кг» або «Per 1 kg»). Ось повний список значень:

    Показати / Сховати
    • 0 — Не вказано
    • 1 — За 1 шт
    • 2 — За 100 шт
    • 3 — За 1000 шт
    • 4 — За 1 упаковку
    • 5 — За 1 кг
    • 6 — За 1000 кг
    • 7 — За 1 м² (квадратний метр)
    • 8 — За 1 метр
    • 9 — За 1 км
    • 10 — За комплект
    • 11 — За 1 годину
    • 12 — За 1 день
    • 13 — За 1 місяць
    • 14 — За 1 рік
    • 15 — За сотку
    • 16 — За акр
    • 17 — За гектар
    • 18 — За ділянку
    • 19 — За об'єкт
    • 30 — За 1 мл (мілілітр)
    • 31 — За 1 л (літр)
    • 32 — За 1 км³ (кубічний кілометр)
    • 33 — За 1 м³ (кубічний метр)
    • 34 — За 1 дм³ (кубічний дециметр)
    • 35 — За 1 см³ (кубічний сантиметр)
    • 36 — За 1 мм³ (кубічний міліметр)
    • 37 — За 1 hl (гектолітр)
    • 38 — За 100 грам
    • 39 — За 1 фунт
    • 40 — За 1 грам
    • 41 — За 10 кг
    • 42 — За 1 центнер (100 кг)
    • 43 — За 1 тонну
    • 44 — За 1 ар
    • 45 — За 1 пару
    • 46 — За 1 дюжину
    • 47 — За 1 галон
    • 48 — За 1 барель
    • 49 — За 1 хвилину
    • 50 — За 1 тиждень
    • 51 — За 1 послугу
    • 52 — За 1 поїздку
    • 53 — За 1 людину
    • 54 — За 1 машину
    • 55 — За 1 м.п. (метр погонний)

    Можна використовувати як числове значення, так і текст — система автоматично розпізнає і приведе до правильного коду.

  • Доступні значення stock_status

    Для кожного товару можна вказати параметр stock_status, який визначає статус доступності товару та його поведінку на сайті. Можна використовувати числовий код або ключове слово — система розпізнає обидва варіанти.

    Показати / Сховати
    • 0 — В наявності
    • 1 — Немає в наявності
    • 2 — Під замовлення
    • 3 — Немає в наявності + Сховати товар зі списку
    • 4 — Немає в наявності + Заборонити додавати товар у кошик
    • 5 — Наявність уточнюйте

    Можна використовувати як числове значення, так і текст — система автоматично розпізнає і приведе до правильного коду.

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

  • Акція та Доступні значення promotion_expires_job

    Для кожного товару можна вказати параметр promotion_expires_job, який керує тим, що робити з акцією після закінчення її терміну.
    Можна використовувати числовий код або ключове слово — система розпізнає обидва варіанти.

    Показати / Сховати
    • 0 — Нічого не робити (сховати таймер)
    • 1 — Перенести «Стара ціна» в основну ціну та видалити стару ціну
    • 2 — Прибрати позначку «Акція»
    • 3 — Перенести «Стара ціна» в основну ціну та прибрати позначку «Акція»
    • 5 — Запустити таймер заново терміном на 1 день
    • 6 — Запустити таймер заново терміном на 10 днів
    • 7 — Запустити таймер заново з попереднім терміном (дата таймера мінус дата останнього редагування)
    • 8 — Прибрати позначку «Акція» та видалити «Стара ціна»

    Можна вказувати як числове значення, так і текст — система автоматично розпізнає і приведе до потрібного коду.

    Важно: Для активації таймера акції обов'язково вкажіть promotion рівним 1 — це означає, що акція активна.

    Також необхідно вказати дату закінчення акції в параметрі promotion_expires — вона може бути задана як UNIX-час (наприклад, time()), так і у форматі YYYY-MM-DDTHH:MM:SS+00:00 (наприклад, 2025-06-28T00:00:00+00:00).

  • Більше значень

    Доступні значення title

    Текст (максимум 255 символів) — найменування товару


    Доступні значення sku

    Текст (максимум 100 символів) — код товару


    Доступні значення status
    • 1 — Доступ відкритий
    • 0 — Доступ закритий (403)

    Доступні значення xml

    Увімкнути/Вимкнути вивантаження товару в XML (Google Merchant та інші)

    • 1 — Вивантаження увімкнено
    • 0 — Вивантаження вимкнено

    Доступні значення xml_markup

    Параметр керує застосуванням націнок при вивантаженні товарів в XML (Google Merchant та інші рекламні каталоги).

    • 0 — Увімк: Націнка застосовується за замовчуванням
    • 1 — Вимк: Без націнок (оригінальна ціна)
    • 2 — Без націнки Rozetka
    • 3 — Без націнки Prom.ua
    • 4 — Без націнки Epricentrk.ua
    • 5 — Вимк: Rozetka, Prom, Epicentrk
    • 6 — Без формульної націнки

    Доступні значення noimport

    Увімкнути/Вимкнути оновлення товару при імпорті (Магазин — Імпортувати товари)

    • 1 — Оновлювати при імпорті
    • 0 — Не оновлювати при імпорті

    Доступні значення delete
    • 0 — Не видаляти
    • 1 — Видалити товар

    Доступні значення show_period

    Період розміщення товару. Дозволяє сховати товар після закінчення вказаного терміну.

    • 0 — На завжди
    • 1 — 1 день
    • 2 — Тиждень
    • 3 — Місяць
    • 4 — Півроку
    • 5 — Рік

    Доступні значення priority

    Число від 0 до 100. Чим більше — тим вище товар у списку.


    Доступні значення custom_label_4

    Текст (максимум 95 символів)


    Доступні значення meta_title

    Текст (максимум 255 символів)


    Доступні значення meta_description

    Текст (максимум 500 символів)


    Доступні значення meta_keywords

    Текст (максимум 2000 символів)


    Доступні значення multilangid

    Текст (максимум 50 символів)


    Доступні значення categories

    Масив зі значеннями

    • id — ID категорії
    • name — Найменування категорії
    • lang — Мова категорії

    Доступні значення producer

    Масив зі значеннями

    • id — ID виробника
    • name — Найменування виробника
    • lang — Мова виробника

    Доступні значення producer_country

    Текст (максимум 100 символів)


    Доступні значення collection

    Масив зі значеннями

    • id — ID колекції
    • name — Найменування колекції
    • lang — Мова колекції

    Доступні значення short_description

    Текст (максимум 2000 символів) — короткий опис товару (якщо увімкнено в стилістиці сайту, то відображається при перегляді списку товарів)


    Доступні значення description

    Текст довгий — повний опис товару, відображається при окремому перегляді картки товару


    Доступні значення description_tab_1

    Текст довгий — вкладка 1 з описом (Заголовок вкладки вкажіть у налаштуваннях магазину)


    Доступні значення description_tab_2

    Текст довгий — вкладка 2


    Доступні значення description_tab_3

    Текст довгий — вкладка 3


    Доступні значення description_tab_4

    Текст довгий — вкладка 4


    Доступні значення description_tab_5

    Текст довгий — вкладка 5


    Доступні значення bought_with

    Текст (максимум 255 символів) — список значень З товарами купують, через кому (ID або SKU товарів)


    Доступні значення bought_with_email

    Текст (максимум 255 символів) — список значень З товарами купують, що надсилається покупцю на пошту при замовленні, через кому (ID або SKU товарів)


    Доступні значення discount

    Текст (максимум 20 символів) — розмір знижки (інформаційне поле про знижку, відображається і в списку товарів і при окремому перегляді)


    Доступні значення new

    Позначити товар як Новинка

    • 0 — Не встановлено
    • 1 — Встановлено

    Доступні значення featured

    Позначити товар як Хіт продажів

    • 0 — Не встановлено
    • 1 — Встановлено

    Доступні значення promotion

    Позначити товар як Акція

    • 0 — Не встановлено
    • 1 — Встановлено

    Доступні значення reducedprice

    Позначити товар як Ціна знижена

    • 0 — Не встановлено
    • 1 — Встановлено

    Доступні значення shipping
    • 0 — Не вказані
    • 1 — Встановлені

    Доступні значення shipping_settings (пов'язані з shipping)
    • 2 — Із Загальних налаштувань
    • 0 — Немає доставки
    • 1 — Є доставка
    • 3 — Вказати тільки примітку щодо доставки

    Доступні значення shipping_price (пов'язані з shipping_settings)

    Текст (максимум 40 символів)


    Доступні значення shipping_note (пов'язані з shipping_settings)

    Текст (довгий)


    Доступні значення shipping_days (пов'язані з shipping_settings)

    Текст (максимум 10 символів)


    Доступні значення shipping_sum (пов'язані з shipping_settings)
    • 0 — Не враховувати кількість товару
    • 1 — Враховувати кількість товару
    • 2 — Не додавати доставку до суми замовлення

    Доступні значення attributes

    Масив з характеристиками — відображаються в картці товару, враховуються при порівнянні товару та в пошуковому фільтрі

    • id — ID характеристики (якщо є)
    • name — Назва характеристики (пошук відбувався або за name або за value_parent_id / value_ints)
    • options — Масив значень характеристики
    • value_ints — Масив числових ID значень (якщо є)
    • value_parent_id — Батьківський ID характеристики (якщо є)

    Приклад:
    [
      {
        "id": 1298,
        "name": "Product type",
        "options": ["Кросівки"]
      },
      {
        "name": "Виробник",
        "options": ["Adidas"],
        "value_ints": [10081],
        "value_parent_id": 1762
      },
      {
        "name": "Розмір",
        "options": ["43", "43,5"],
        "value_ints": [10107, 10108],
        "value_parent_id": 1763
      }
    ]

    Інші значення

    Інші значення ви можете дізнатися, отримавши методом GET /products або в прикладах нижче


Додавання товарів

Цей метод дозволяє додати один або кілька товарів одним запитом (до 3000 за один запит). Формат запиту повністю збігається з методом оновлення: можна передавати масив products або одиночний товар.

  • Пошук за ID: при додаванні нового товару поле id повинно бути порожнім або відсутнім. Якщо id вказаний і товар з таким ID вже існує, то система оновить цей товар замість створення нового.
  • Пошук за кодом (SKU): перед додаванням система перевіряє, чи є товар з таким SKU. Якщо такий товар знайдений, він буде оновлений, а не створений заново.

Ви можете додати нові товари та оновити існуючі одним запитом.


Це базовий опис основних методів для роботи з Commerce API / WooCommerce API v3 по замовленнях, товарах і категоріях.
Нижче розташовані скрипти з прикладами, які допоможуть правильно використовувати методи API на практиці.


  • Script: Api: ORDER DETAILS

     Code: PHP
    ORDER DETAILS
      $url = "https://boostore.pro/api/commerce/orders/ORDERID"; // Set the endpoint URL (replace with your actual API endpoint)
      $authKey = "your_authorization_token_here"; // Authorization token (use your real key)
      $ch = curl_init($url); // Initialize cURL session
      // Set cURL options
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Return response as string
      curl_setopt($ch, CURLOPT_HTTPHEADER, [
      "Authorization: Bearer " . $authKey, // Set Authorization header
      "Content-Type: application/json" // Optional: declare expected response type
      ]);
      // Execute request
      $response = curl_exec($ch);
      // Check for cURL error
      if (curl_errno($ch)) {
      echo "Request error: " . curl_error($ch);
      } else {
      // Parse and print the JSON response
      $data = json_decode($response, true);
      print_r($data); // Output server response
      }
      // Close cURL session
      curl_close($ch);
      
  • Script: Api: UPDATE ORDER

     Code: PHP
    UPDATE ORDER
      $url = "https://boostore.pro/api/commerce/orders/ORDERID"; // Order API endpoint
      $authKey = "your_authorization_token_here"; // Authorization token
      // Data to update (use API keys, not raw DB field names)
      $updateData = [
      "first_name"  => "Alex",
      "last_name"   => "Las",
      "email"       => "alex@example.com",
      "phone"       => "+380671112233",
      // Full address in plain text (if needed)
      "address"   => "Full address not tied to structured eform fields",
      // Structured address fields (eform system)
      "buyer_address_eform1" => "Region / State",         
      "buyer_address_eform2" => "City",                   
      "buyer_address_eform3" => "Street",                 
      "buyer_address_eform4" => "House number",           
      "buyer_address_eform5" => "Apartment",              
      "buyer_address_eform6"             => "01001",       // Zip/Postal code/Department
      // Order details
      "total" => "999",                        // Total price
      "status" => "processing",                // Internal status or number
      "status_for_customer" => "completed",    // Customer-facing status or number
      ];
      $ch = curl_init($url); 
      // cURL options
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
      curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($updateData, JSON_UNESCAPED_UNICODE));
      curl_setopt($ch, CURLOPT_HTTPHEADER, [
      "Authorization: Bearer " . $authKey,
      "Content-Type: application/json"
      ]);
      $response = curl_exec($ch);
      if (curl_errno($ch)) {
      echo "Request error: " . curl_error($ch);
      } else {
      $data = json_decode($response, true);
      print_r($data); 
      }
      curl_close($ch);
  • Script: Api: CREATE ORDER

     Code: PHP
    CREATE ORDER
      $url = "https://boostore.pro/api/commerce/orders"; // Order API endpoint
      $authKey = "your_authorization_token_here"; // Authorization token (use your real key)
      // Order data + products
      $orderData = [
      // Buyer info
      "first_name"  => "Name",                // Buyer's first name
      "last_name"   => "Soname",              // Buyer's last name
      "email"       => "alex@example.com",    // Buyer's email (required)
      "phone"       => "+380671112233",       // Buyer's phone number
      "address"     => "Full address of not used address eform", // General address
      "buyer_address_eform1" => "State",      // State / Region
      "buyer_address_eform2" => "City",       // City
      "buyer_address_eform3" => "Street",     // Street
      "buyer_address_eform4" => "house number", // House number
      "buyer_address_eform5" => "flat",       // Apartment / Flat
      "postcode"    => "01001",               // Postcode / ZIP
      // Total order amount (optional)
      // If you set "total", it will be used as the final order total.
      // If you skip "total", the system will calculate the total automatically
      // based on the products in "line_items".
      //"total"       => "999",
      "status"      => "processing",          // Internal status
      "status_for_customer" => "processing",  // Status shown to the customer
      "currency"   => "USD",                  // Order currency
      // Products in the order
      "line_items" => [
        [
         "product_id" => 478734,         // Product ID (required)
         "quantity"   => 0,               // Quantity (required) / default - 1
         "price"      => 100,            // Custom price (optional, overrides site price)
        ],
        [
         "product_id" => 478268,
         "quantity"   => 10,
         "variation" => "51"             // Variation name or code
        ],
        [
         "product_id" => 478266,
         "quantity"   => 1,
         "variation_id" => 735302        // Variation ID (priority over "variation")
        ]
       ]
      ];
      
      $ch = curl_init($url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
      curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($orderData, JSON_UNESCAPED_UNICODE));
      curl_setopt($ch, CURLOPT_HTTPHEADER, [
      "Authorization: Bearer " . $authKey,
      "Content-Type: application/json"
      ]);
    
      $response = curl_exec($ch);
      if (curl_errno($ch)) {
      echo "Request error: " . curl_error($ch);
      } else {
      $data = json_decode($response, true);
      print_r($data);
      }
      curl_close($ch);
      
  • Script: Api: UPDATE PRODUCT

     Code: PHP
    UPDATE PRODUCT
     $url = "https://boostore.pro/api/commerce/products/PRODUCT_ID"; // Product API update endpoint
      $authKey = "your_authorization_token_here"; // Authorization token (use your real key)
    // Product data
    $productData = [
      "id" => 479077, // Product ID is ignored here because it's specified in the URL
      "name" => "Basketballshoes_Demo", // SEO URL link
      "title" => "Basketball shoes Converse All Star BB Prototype CX", // Product title (required for new)
      "type" => 1298, // Product type for filtering and attributes
      "access" => true, // Product availability (true = active)
      "description" => "<p>Sneakers Converse All Star BB Prototype CX — Basketball shoes...</p>", // Full product description (HTML allowed)
      "short_description" => "", // Short description of product 
      "sku" => "AO2515C", // Product SKU code
      "sku_show" => 0, // Whether to show SKU publicly (0 = no)
      "price" => "3000", // Current price
      "currency" => "UAH", // Currency code
      "regular_price" => "5760", // Old (regular) price 
      "price_for" => "0", // Unit for pricing (see documentation for accepted values  https://boostore.pro/en/docs/import-products/#faq_import_products)
      "stock_quantity" => 0, // Quantity in stock (0 - unlimited)
      "stock_status" => 0, // Stock status (0 = in stock, 1 = out of stock, others see docs)
      "weight" => 0, // Weight value
      "weight_units" => 0, // Weight units: 0 = grams, 1 = kilograms
      "dimensions" => [
        "length" => 0, // Length
        "width"  => 0, // Width
        "height" => 0, // Height
        "units"  => "0", // Dimension units: 0 = centimeters, 1 = meters
     ],
     "categories" => [
        ["id" => 30519, "name" => null], // Product category (by ID, name, or both)
      ],
      "tags" => "tag1, tag2", // Tags, comma separated, max 8 tags
     "images" => [
        "0" => "-uploadshopcat-s16572/479077/479077_1.webp", // Local image path (won`t be uploaded)
        "1" => "https://boostore.pro/upload/shop_catalog/s16572/479077/479077_2.webp", // Remote image URL (will be downloaded and attached)
      ],
     "images_replace" => false, // By default: do NOT replace images with the same index. If true, replace existing images by index.
     "images_skip_index" => false, // If true, find next free index if the given index is occupied and save image there.
     "images_replace_new_index" => false, // If true, even if replace and skip are false, save under new free index if original index is occupied.
     "variations_only_update" => false, // If true, new variations will be added without deleting old ones; otherwise all old variations are removed before adding new
     "variations" => [
      [
        "priority" => 0, // Display priority of the variation
        "id" => 736413, // Variation ID for updating existing variation; if not provided, search by SKU or title
        "sku" => "SKU1234", // Variation SKU (recommended)
        "title" => "42", // Variation name (required)
        "status" => "true", // access ( true / false / forbidden)
        "description" => "",
        "stock_status" => 0, // Stock status, same logic as main product
        "show_stock" => 0, // Whether to show stock count
        "instock" => 10, // Quantity in stock for this variation
        "image_num" => 0, // Image index linked to this variation
        "price" => "+100", // Price adjustment: absolute, or relative (+/-)
        "price_old" => "120", // Old price
        "price_cost" => "80", // Cost price
        "bulk_prices" => [ // Bulk pricing rules
          [
          "moq" => 10, 
           "price" => 5000
          ], // Price if order >= 10 units
          [
          "moq" => 15, 
          "price" => 4500
          ], // Price if order >= 15 units
      ],
      "dimensions" => [ // Variation dimensions, same units as product
        "length" => 0, // Length
        "width" => 0,  // Width
        "height" => 0, // Height
        "units" => 0,  // Dimension units: 0 = centimeters, 1 = meters
      ],
      ],
      [
        "priority" => 0,
        "title" => "43",
        "description" => "",
        "stock_status" => 0,
        "show_stock" => 1,
        "instock" => 1,
        "image_num" => 2,
        "price" => "+100",
        "price_old" => "120",
        "price_cost" => "80",
        "bulk_prices" => [
      ["moq" => 10, "price" => 5000],
      ["moq" => 15, "price" => 4500],
      ],
      "dimensions" => [
        "length" => 0,
        "width" => 0,
        "height" => 0,
        "units" => 0,
      ],
    
      ],
      ],
     "products_synonyms" => "", // Comma-separated list of grouped or similar product IDs or SKUs
     "priority" => 12, // Sorting priority (higher number = higher position, max 99)
     "producer" => ["id" => 4713, "name" => null], // Producer category by ID and/or name
     "producer_show" => 0, // Show producer on product page
     "producer_country" => "", // Producer country (text)
     "collection" => ["id" => null, "name" => null], // Collection category (ID and/or name)
     "collection_show" => 0, // Show collection flag
     "supplier" => ["id" => null, "name" => null], // Supplier info
     "bulk_prices" => [ // Bulk prices for main product
        ["moq" => 10, "price" => 5000],
        ["moq" => 15, "price" => 4500],
      ],
     "price_cost" => "", // Cost price for the main product
     "settings_comments" => "e_shop_page_hoteng_com|e_shop_page_hoteng_rating_com|e_shop_page_hoteng_show_rating_com|e_shop_page_hoteng_com_captcha|e_shop_page_hoteng_vis_com|e_shop_page_hoteng_num30",
     "password" => "", // Password protection (if any)
     "show_tree" => 0, // Category tree display setting
     "show_stock" => 0, // Show stock on product page
     "moq" => 0, // Minimum order quantity
     "shipping" => 0, // Shipping enabled flag
     "shipping_settings" => 0, // Shipping configuration
     "shipping_price" => 0, // Shipping cost
     "shipping_note" => "", // Notes about shipping
     "shipping_days" => 0, // Delivery time in days
     "shipping_sum" => 0, // Combine shipping for same products flag
     "show_period" => 0, // Product display period
     "bought_with" => "", // Comma-separated list of products often bought together
     "bought_with_email" => "", // Email to send bought-together product lists
     "new" => 1, // Is product new (1 = yes, 0 = no)
     "reduced_price" => 0, // Price reduced flag
     "discount" => "-20%", // Discount text (informational)
     "featured" => 1, // Featured product flag
     "promotion" => 1, // Has promotion flag
     "promotion_text" => "", // Promotion text
     "promotion_expires" => 1751113909, // Promotion end timestamp
     "promotion_expires_job" => 0, // Job to execute after promotion ends
     "variations_title" => "", // Title above variation selectors
     "variations_type" => 0, // Variation type (Google Merchant Size Type): 0=default from category settings, 1=color, 2=pattern, 3=material, 4=age_group, 5=gender, 6=size
     "variations_require" => 0, // Require variation selection before purchase
     "variations_cartexplode" => 0, // Variation display method settings
     "yml" => 0, // Export to YML/XML flag
     "noimport" => "0", // Disable import via admin panel flag
     "custom_label_4" => "", // Custom label for Google Merchant
     "description_tab_1" => "", // Description tab 1 content
     "description_tab_2" => "", // Description tab 2 content
     "description_tab_3" => "", // Description tab 3 content
     "description_tab_4" => "", // Description tab 4 content
     "description_tab_5" => "", // Description tab 5 content
     "video" => "", // Video URL
     "video_duration" => "", // Video duration in HH:MM:SS format
     "delete" => "delete", // delete product ( true or delete )
     // Product attributes for filtering and characteristics
     "attributes" => [
       [
      // "id"      => 1298,  // Attribute name You can use or NAME or ID
        "name" => "Product type", // Attribute name
        "options" => ["Sneakers"] // Attribute values (multiple allowed)
       ],
       [
        "name" => "Producer", //  Attribute name
        "options" => ["Converse"] //Attribute values (multiple allowed)
       ],
       [
        "name" => "Size", //Attribute name
        "options" => ["37,5", "40"] //Attribute values (multiple allowed)
         // "value_ints"      => [10096, 10101], //You can use or NAME or ID
         // "value_parent_id" => 1763 You can use or NAME or ID
       ],
      ]
     ];
    
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "UPDATE"); // Use UPDATE method for update operation (UPDATE / PUT / PATCH)
      curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($productData, JSON_UNESCAPED_UNICODE));
      curl_setopt($ch, CURLOPT_HTTPHEADER, [
      "Authorization: Bearer " . $authKey,
      "Content-Type: application/json"
      ]);
    
      $response = curl_exec($ch);
      if (curl_errno($ch)) {
      echo "Request error: " . curl_error($ch);
      } else {
      $data = json_decode($response, true);
      print_r($data);
      }
    curl_close($ch);
    
  • Script: Api: UPDATE MULTIPLE PRODUCT

     Code: PHP
    UPDATE MULTIPLE PRODUCT (up to 5000 same time)
    $url = "https://boostore.pro/api/commerce/products"; // Product API update endpoint
    $authKey = "your_authorization_token_here"; // Authorization token (use your real key)
    // Product data
      $productsData = [
      "products" => [
       [
        "id" => 479077,
        "title" => "New Product Title 1"
        ...
       ],
       [
        "sku" => "SKU123456",
        "title" => "New Product Title 2"
        ...
       ],
       [
        "id" => 479078,
        "title" => "New Product Title 3"
        ...
       ]
      ]
     ];
     
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "UPDATE"); // UPDATE / PUT / PATCH
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($productsData, JSON_UNESCAPED_UNICODE));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer " . $authKey,
    "Content-Type: application/json"
    ]);
    $response = curl_exec($ch);
    if (curl_errno($ch)) {
      echo "Request error: " . curl_error($ch);
    } else {
      $data = json_decode($response, true);
      print_r($data);
    }
    curl_close($ch);
  • Script: Api: UPDATE PRODUCT CATEGORIES

     Code: PHP
    UPDATE MULTIPLE CATEGORIES (up to 3000 same time)
    $url = "https://boostore.pro/api/commerce/products/categories"; // Categories API update endpoint
    $authKey = "your_authorization_token_here"; // Authorization token (use your real key)
    // Categories data
     $categoriesData = [
      "categories" => [
        [
          "category_id" => 30518, // Category ID
          "category_name" => "sneakers", // System category name (slug) REQUIRED
          "category_title" => "Sneakers", // Category title
          "category_parent_id" => 1, // Parent category ID
          "category_parent_name" => "ParentCategory", // Parent category Name
          "category_position" => 0, // Position in the list
          
          "category_visible" => 0, // Visibility (0 = hidden, 1 = visible)
          "category_lang" => "ru", // Category language
          
          "category_show_tree" => 0, // Show tree (0/1)
          "category_multilangid" => 0, // Multilanguage binding ID
    
          "category_image" => [
            "0" => "https://boostore.pro/upload/catalog/16572/files/style/categories/30518.webp", // Image URL
          ],
          "images_replace" => 1, // Image replace if exists
          "category_image_settings" => 7, // Image display settings
          "category_button" => "", // Custom button (without href)
          "category_access" => 0, // Access level
          "category_title_seo_append" => "", // SEO: title suffix
          "category_description_seo_append" => "", // SEO: description suffix
          "category_meta_d" => "", // Meta description
          "category_meta_k" => "", // Meta keywords
          "category_title_inpage" => "Sneakers", // Title shown inside the category page
          "category_text" => "", // Category description text
          "category_text_position" => 0, // Description position
          "category_settings_comments" => "", // Comment settings
          
          "category_settings_rating" => 0, // Enable rating (0/1)
          "category_datestamp" => "2025-09-16T12:41:07+00:00", // Datetime of creation/update
         
          "category_googlegoods_catid" => 0, // Google Goods category ID
          "category_promua_catid" => 0, // Prom.ua category ID
          "category_rozetkaua_title" => "", // Rozetka.ua category title
          "category_merchant_product_category" => "", // Merchant product category
          "category_gm_product_type" => 0, // Google Merchant product type
          "category_gm_sizetype" => 0, // Google Merchant size type
          
          "category_priceappend_rozetka" => "", // Extra price settings for Rozetka
          "category_priceappend_promua" => "", // Extra price settings for Prom.ua
          "category_settings_childproductshow" => 0, // Show products from subcategories (0/1)
          "category_settings_style" => 0, // Style settings
          "category_settings_sibling" => 0, // Show sibling categories (0/1)
          "update_exists" => 1, // Update exists category (0/1)
          "delete" => 0, // For delete category (0/1)
        ]
      ]
    ];
    
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "UPDATE"); // UPDATE / PUT / PATCH
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($categoriesData, JSON_UNESCAPED_UNICODE));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer " . $authKey,
    "Content-Type: application/json"
    ]);
    
    $response = curl_exec($ch);
    if (curl_errno($ch)) {
      echo "Request error: " . curl_error($ch);
    } else {
      $data = json_decode($response, true);
      print_r($data);
    }
    curl_close($ch);
  • Script: Api: UPDATE PRODUCT PRODUCERS

     Code: PHP
    UPDATE MULTIPLE PRODUCERS (up to 3000 same time)
    $url = "https://boostore.pro/api/commerce/products/producers"; // Producers API update endpoint
    $authKey = "your_authorization_token_here"; // Authorization token (use your real key)
    // Producers data
     $producersData = [
      "producers" => [
        [
          "producer_id" => 30518, // Producer ID
          "producer_name" => "sneakers", // System producer name (slug) REQUIRED
          "producer_title" => "Sneakers", // Producer title
          "producer_parent_id" => 1, // Parent producer ID
          "producer_parent_name" => "ParentCategory", // Parent producer Name
          "producer_position" => 0, // Position in the list
          
          "producer_visible" => 0, // Visibility (0 = hidden, 1 = visible)
          "producer_lang" => "ru", // Producer language
          
          "producer_show_tree" => 0, // Show tree (0/1)
          "producer_multilangid" => 0, // Multilanguage binding ID
    
          "producer_image" => [
            "0" => "https://boostore.pro/upload/catalog/16572/files/style/categories/30518.webp", // Image URL
          ],
          "images_replace" => 1, // Image replace if exists
          "producer_image_settings" => 7, // Image display settings
          "producer_button" => "", // Custom button (without href)
          "producer_access" => 0, // Access level
    
          "producer_meta_d" => "", // Meta description
          "producer_meta_k" => "", // Meta keywords
          "producer_title_inpage" => "Sneakers", // Title shown inside the producer page
          "producer_text" => "", // Producer description text
          "producer_text_position" => 0, // Description position
          "producer_settings_comments" => "", // Comment settings
          
          "producer_settings_rating" => 0, // Enable rating (0/1)
          "producer_datestamp" => "2025-09-16T12:41:07+00:00", // Datetime of creation/update
         
          "update_exists" => 1, // Update exists producer (0/1)
          "delete" => 0, // For delete producer (0/1)
        ]
      ]
    ];
    
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "UPDATE"); // UPDATE / PUT / PATCH
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($producersData, JSON_UNESCAPED_UNICODE));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer " . $authKey,
    "Content-Type: application/json"
    ]);
    
    $response = curl_exec($ch);
    if (curl_errno($ch)) {
      echo "Request error: " . curl_error($ch);
    } else {
      $data = json_decode($response, true);
      print_r($data);
    }
    curl_close($ch);
  • Script: Api: UPDATE PRODUCT COLLECTIONS

     Code: PHP
    UPDATE MULTIPLE COLLECTIONS (up to 3000 same time)
    $url = "https://boostore.pro/api/commerce/products/collections"; // Collections API update endpoint
    $authKey = "your_authorization_token_here"; // Authorization token (use your real key)
    // Collections data
     $collectionsData = [
      "collections" => [
        [
          "collection_id" => 30518, // Collection ID
          "collection_name" => "sneakers", // System collection name (slug) REQUIRED
          "collection_title" => "Sneakers", // Collection title
          "collection_parent_id" => 1, // Parent collection ID
          "collection_parent_name" => "ParentCategory", // Parent collection Name
          "collection_position" => 0, // Position in the list
          
          "collection_visible" => 0, // Visibility (0 = hidden, 1 = visible)
          "collection_lang" => "ru", // Collection language
          
          "collection_show_tree" => 0, // Show tree (0/1)
          "collection_multilangid" => 0, // Multilanguage binding ID
    
          "collection_image" => [
            "0" => "https://boostore.pro/upload/catalog/16572/files/style/categories/30518.webp", // Image URL
          ],
          "images_replace" => 1, // Image replace if exists
          "collection_image_settings" => 7, // Image display settings
          "collection_button" => "", // Custom button (without href)
          "collection_access" => 0, // Access level
    
          "collection_meta_d" => "", // Meta description
          "collection_meta_k" => "", // Meta keywords
          "collection_title_inpage" => "Sneakers", // Title shown inside the collection page
          "collection_text" => "", // Collection description text
          "collection_text_position" => 0, // Description position
          "collection_settings_comments" => "", // Comment settings
          
          "collection_settings_rating" => 0, // Enable rating (0/1)
          "collection_datestamp" => "2025-09-16T12:41:07+00:00", // Datetime of creation/update
         
          "update_exists" => 1, // Update exists collection (0/1)
          "delete" => 0, // For delete collection (0/1)
        ]
      ]
    ];
    
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "UPDATE"); // UPDATE / PUT / PATCH
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($collectionsData, JSON_UNESCAPED_UNICODE));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer " . $authKey,
    "Content-Type: application/json"
    ]);
    
    $response = curl_exec($ch);
    if (curl_errno($ch)) {
      echo "Request error: " . curl_error($ch);
    } else {
      $data = json_decode($response, true);
      print_r($data);
    }
    curl_close($ch);

Імпорт товарів

Імпорт товарів / Параметри / Типи файлів


Відеоінструкція:

Відеоінструкція - імпорт товарів.

Оновлення:

Ви можете оновити дані про наявність, ціну, кількість товару в наявності та інше, створивши файл Excel/XLS або CSV (роздільник — крапка з комою). Для оновлення достатньо вказати Код товару/SKU або ID товару. Крім того, якщо в «Різновидах» товару вказані Коди товарів/SKU, їх також можна оновити, встановивши прапорець «Оновлювати різновид за кодом товару». Якщо ж необхідно додати нові різновиди, також вкажіть поле «Код товару або ID товару для оновлення чи додавання різновиду».

Додавання:

Для додавання нових карток товарів зніміть прапорець «Тільки оновлення». Під час додавання можна вказати шлях до зображень, а також інші параметри товару. Якщо буде знайдено товар з однаковим Кодом товару/SKU, буде виконано його оновлення. Деякі поля, наприклад «Зображення», «Категорія», враховуються лише якщо знято прапорець «Тільки оновлення».

Відповідність полів:

Після завантаження файлу вам необхідно вказати відповідність полів, наприклад, у якій комірці вказано Код товару/SKU, у якій — Ціна тощо.
Ви можете використовувати автоматичне заповнення полів, якщо як шаблон для файлу завантажите Експорт товарів із вашого сайту (Виділити основні, Виділити всі (без різновидів), Виділити всі). В іншому випадку можете вказати відповідність полів самостійно. Крім того, ви можете зберегти три набори відповідностей полів і заповнювати їх за допомогою натискання «Заповнити вибір полів відповідностей …».

Инструкции / Примеры

Примечание
Если в процессе импорта страница загружена не полностью, то не закрывайте ее, это означает, что импорт все еще в процессе обработки.
Если в результате импорта страица не обновляется, или отображается сообщение об ошибке сервера, то разделите импортируемый файл на несклько частей.


Если при импорте размер «Заголовка», «Краткого» и «Полного описания» превысят допустимое количество символов, то они будут обрезаны и импорт будет осуществлен.

Если вы указываете в значении - «ignore», то оно не учитывается. Это полезно в том случае, когда необходимо импортировать данные с перезаписью, но не всех данных из строк файла. Кроме того, если происходит «Только обновление» и не указано наименование товара, то значение игнорируется.
Лимиты
Максимальный размер загружаемого файла: 100mb.
За один импорт можно добавить до 500 наименований или обновить до 2000 наименований.
На припаркованном домене лимит 5000 товаров на импорт, и 20000 на обновление за один запрос!
Для увеличения лимитов в индивидуальном порядке обращайтесь в тех. поддежку через форму обратной связи (бесплатно).
Типы файлов для импорта
Поддерживаются следующие типы файлов:CSV, XLS, XLSX, XML/YML и ZIP.

Примеры файлов

Пример файла XLS Google Table
Пример файла CSV, разделители запятые - откройте с помощью excel.
Пример XML файла
Для получения всех полей доступных для импорта - выполните экспорт товаров.
Пример файла ZIP, c вложенными изображениями, сответствие «Выгрузить все» - откройте с помощью любого архиватора.
Конвертировать в отдельные файлы CSV из YML/XML

Как создать CSV файл для импорта:

Заполните данные в XLS, очистите файл от лишних заголовков и не нужных строк, и
сохранение в формате CSV (Разделители - запятые)
Сохранить файл в CSV Вы можете при помощи Excel, используя «Файл» - «Сохранить как»

Разделить CSV файл на несколько, вы можете при помощи программы csvsplitter.zip

Загрузка изображений и прайса в ZIP архиве

Вы можете использовать сторонние ссылки на изображения или загрузить их в ZIP архив при импорте.

Как создать ZIP архив для импорта:

Создайте CSV/XLS/XLSX файл для импорта, с именем «export_products.*» (* - расширение csv, xls или xlsx). В файле укажите относительные пути к изображением (если картинки размещаются в архиве) или полный путь к изображениям (если картинки расположены на web ресурсе). Загрузите все файлы в один архив - ZIP. В архиве можно использовать множество папок для размещения изображений.
Пример
Например, в архиве может быть несколько папок, 1, 2, 3 и так далее. В каждой папке можно разместить изображения. При импорте к каждому товару остается указать соответствующей путь к каждому изображению. При импорте можно комбинировать относительные пути, или ссылки на изображения с внешних источников. В именах файлов и папок старайтесь не использовать спец символы и кириллицу.

Файл «export_products.*» должен находиться в корне архива.
Пример файла ZIP, c вложенными изображениями - откройте с помощью любого архиватора.

Внимание! Если файл для импорта содержит формулы, то их необходимо удалить.
Многоязыность
Используйте только уникальные не повторяющиеся коды товара, а для многоязычных сайтов указывайте ячейку «Товар на других языках» и другой код товара. Если активировано поле «Обновлять товары на других языках», то при импорте будут обновлены и основные товары с указанным артикуром, и аналогичные товары на других языках, указанные в ячейке «Товар на других языках». При обновлении Товаров на другом языке учитываются основные поля, такие как: `Цена`, `Наличие`, `Оптовая цена`, `Новинка`, `Хит продаж`, `Акция`, `Доступ` и `Удаление товара`.

Язык товара будет соотвествовать категории в которую он импортируется.
Для добавления товаров на других языках, укажите рубрику на другом языке, а также значение «Товар на другом языке». «Код товара» должен быть уникальным, потому на другом языке можно использовать, например, собственные окончания «SKU/CODE_EN». Если указан «Товар на другом языке», то при изменении основных данных (стоимость, наличие, новинка, хит продаж, доступ), так же будут обновлены все каточки товара указанные как альтернативная версия основного товара. Для разновидностей можно использовать одинаковый Код.
Інструкція зі створення багатомовного сайту.
Відповідність полів і даних
При імпорті Ви можете вказати наступні поля:

    - Код товару/SKU
    Товар з однаковим Кодом товару із завантажуваного прайсу буде перезаписаний.
    Якщо не вказано код товару і необхідно перезаписати інформацію про товар, то можна використати ID товару. Увага! Якщо вказано ID товару, то він використовується з більшим пріоритетом, ніж код товару, а також дозволяє перезаписати КОД ТОВАРУ.

    - ID товару (оновлення існуючого товару)
    Для оновлення товару або різновиду за ID, можна вказати значення в цьому полі. Якщо ID товару буде знайдено, то буде вказано товар для оновлення інформації про нього. Увага! Якщо вказано ID товару, то він використовується з більшим пріоритетом, ніж код товару, а також дозволяє перезаписати `КОД ТОВАРУ` в картці товару.

    - Ціна
    Валюта при імпорті може бути замінена, якщо в ціні товару вказані відповідні валюті символи, а саме:
    • $ USD doll &amp;#36; дол - ()
    • € EUR euro &amp;#8364 євро - ()
    • Br BYN BYR br руб. р. - ()
    • ₽ руб RUR RUB р. руб. рубл &amp;#8381; - ()
    • ₴ грн UAH гривень grn hrn &amp;#8372; - ()
    • тенге KZT тенг тнг тг tenge teng &amp;#8376; - ()
    • zł PLN zlot zł Zł Z&#322; - ()

    - Націнка
    Націнка визначається математичним виразом по відношенню до раніше вказаної Ціни.
    Доступні наступні значення:
    • +XX плюс
    • -XX мінус
    • /XX розділити
    • *XX помножити
    • XX% відсоток від суми
    • +XX% плюс відсоток від суми
    • -XX% мінус відсоток від суми
    • /XX% розділити на відсоток від суми
    • *XX% помножити на відсоток від суми
    • Якщо в ціні або націнці вказано не ціле число, то результат буде округлено до двох знаків після коми.


    - Оптова ціна
    Оптова ціна вказується через крапку з комою. Для активації оптової ціни обов'язково необхідно вказати "Мінімальне оптове замовлення". Наприклад, якщо в полі "Мінімальне оптове замовлення" вказано 5;10, а в "Оптова ціна" вказано 20;10, то при додаванні в кошик більше 5 товарів, ціна буде 20, а при додаванні більше 10 товарів - ціна 10.

    - Наявність товару (Так/Є/Немає/Під замовлення/Уточнюйте/Приховати/Заборонити)
    • 0 Є в наявності
    • 1 Немає
    • 2 Під замовлення
    • 3 Приховати
    • 4 Заборонити додавати в кошик
    • 5 Наявність уточнюйте


    Також автоматично розпізнаються наступні значення: Так, Є, Немає, в наявності, +, - та Під замовлення.
    Щоб приховати товар зі списку, можна вказати: Приховати, Hide або Немає в наявності (+Приховати товар зі списку).
    Щоб заборонити додавання товару в кошик — використовуйте: Lock, Заборонити або Немає в наявності (+Заборонити додавати товар в кошик).
    Для варіанту «Уточнюйте» можна вказати: Check availability, Уточнюйте або Наявність уточнюйте.

    - Кількість товару в наявності

    Доступні наступні значення:
    • XX Числове значення
    • +XX плюс (до попереднього залишку в наявності)
    • -XX мінус (від попереднього залишку в наявності)


    - Ціна за

    Доступні наступні варіанти значень:
    • 1 шт або 1 — за 1 штуку
    • 100 шт або 2 — за 100 штук
    • 1000 шт або 3 — за 1000 штук
    • 1 упаковку або 4 — за 1 упаковку
    • 1 пару або 45 — за 1 пару
    • 1 дюжину або 46 — за 1 дюжину
    • Комплект або 10 — за комплект
    • 1 кг або 5 — за 1 кілограм
    • 1000 кг або 6 — за 1000 кілограм
    • 100 грам або 38 — за 100 грам
    • 1 фунт або 39 — за 1 фунт
    • 1 грам або 40 — за 1 грам
    • 10 кг або 41 — за 10 кілограм
    • 1 центнер (100 кг) або 42 — за 100 кг
    • 1 тонну або 43 — за 1 тонну
    • 1 мл (мілілітр) або 30 — за 1 мілілітр
    • 1 л (літр) або 31 — за 1 літр
    • 1 км³ (кубічний кілометр) або 32 — за 1 кубічний кілометр
    • 1 м³ (кубічний метр) або 33 — за 1 кубічний метр
    • 1 дм³ (кубічний дециметр) або 34 — за 1 кубічний дециметр
    • 1 см³ (кубічний сантиметр) або 35 — за 1 кубічний сантиметр
    • 1 mm³ (кубічний міліметр) або 36 — за 1 кубічний міліметр
    • 1 hl (гектолітр) або 37 — за 1 гектолітр
    • 1 галон або 47 — за 1 галон
    • 1 барель або 48 — за 1 барель
    • 1 м² (квадратний метр) або 7 — за 1 м²
    • 1 ар або 44 — за 1 ар
    • Сотка або 15 — за сотку
    • Акр або 16 — за 1 акр
    • Гектар або 17 — за 1 гектар
    • Ділянка або 18 — за 1 ділянку
    • Об'єкт або 19 — за 1 об'єкт
    • 1 метр або 8 — за 1 метр
    • 1 км або 9 — за 1 км
    • 1 м.п. або 55 — за 1 м.п.
    • 1 година або 11 — за 1 годину
    • 1 день або 12 — за 1 день
    • 1 місяць або 13 — за 1 місяць
    • 1 рік або 14 — за 1 рік
    • 1 хвилина або 49 — за 1 хвилину
    • 1 тиждень або 50 — за 1 тиждень
    • 1 послугу або 51 — за 1 послугу
    • 1 поїздку або 52 — за 1 поїздку
    • 1 людину або 53 — за 1 людину
    • 1 машину або 54 — за 1 машину


    - Короткий опис
    Виводиться у вигляді тексту в списку товарів (в категоріях, пошуку, блоках новинок), якщо це не приховано в налаштуваннях стилів.

    - Мета-заголовок
    Тег Title. Відображається у вкладці браузера і є заголовком.

    - Мета-опис
    Тег Description. Короткий текст під посиланням в результатах пошуку. Допомагає пошуковим системам зрозуміти вміст сторінки та впливає на клікабельність (CTR) посилання.

    - Мета-ключові слова
    Тег Keywords. Набір ключових слів або фраз через кому, за якими користувачі можуть знаходити даний товар. Введені слова враховуються при пошуку товарів всередині сайту.

    - Найменування товару / Назва товару
    Основне ім'я товару на сайті. Використовується для формування заголовка H1 на сторінці та назв у кошику/замовленнях.

    - Повний опис
    Основний текст про товар. Виводиться в блоці, який вказаний в налаштуваннях дизайну сайту (позиція блока може змінюватися). Може містити HTML-код для оформлення (списки, таблиці, текст, відео).

    - Вкладки описів
    Дозволяє створювати додаткові інформаційні розділи (наприклад: «Повний опис товару», «Характеристики», «Доставка», «Відеоогляди»). Ви можете імпортувати як звичайний текст, так і складний HTML-код з таблицями, фреймами YouTube або специфікаціями. Назви вкладок налаштовуються в панелі керування сайтом.

    - Категорія ID (ID вашої категорії)
    Вкажіть ID ваших персональних категорій Магазину. Якщо така категорія не буде знайдена на вашому сайті, то значення не враховується. При використанні персональних категорій відбувається перевірка на їх існування. Якщо вказана категорія на даному сайті не існує, то значення буде ігноруватися.

    - Категорія Заголовок (Заголовок вашої категорії)
    Із вказаного поля беруться дані і звіряються з Внутрішнім заголовком категорії. Якщо категорія збігається, то встановлюється ID цієї категорії. Якщо попередньо вказана персональна категорія ID, то воно буде пріоритетніше, ніж значення категорії за Заголовком. При використанні персональних категорій відбувається перевірка на їх існування. Якщо вказана категорія на даному сайті не існує, то значення буде ігноруватися.

    - Виробник ID (ID вашого виробника)
    Вкажіть ID ваших категорій виробника. Якщо такий виробник не буде знайдений на вашому сайті, то значення не враховується. При використанні виробника відбувається перевірка на їх існування. Якщо вказаний виробник на даному сайті не існує, то значення буде ігноруватися.

    - Виробник Заголовок (Заголовок виробника)
    Із вказаного поля беруться дані і звіряються з Внутрішнім заголовком категорій виробника. Якщо категорія збігається, то встановлюється ID цієї категорії. Якщо попередньо вказано виробник ID, то він буде пріоритетніше, ніж значення виробника за Заголовком. При використанні виробників відбувається перевірка на їх існування. Якщо вказаний виробник на даному сайті не існує, то значення буде ігноруватися.

    - Колекція ID (ID вашої колекції)
    Вкажіть ID ваших категорій - колекцій. Якщо така Колекція не буде знайдена на вашому сайті, то значення не враховується. При використанні колекцій відбувається перевірка на їх існування. Якщо вказана Колекція на даному сайті не існує, то значення буде ігноруватися.

    - Колекція Заголовок (Заголовок колекції)
    Із вказаного поля беруться дані і звіряються з Внутрішнім заголовком категорії колекції. Якщо категорія збігається, то встановлюється ID цієї категорії. Якщо попередньо вказана Колекція ID, то вона буде пріоритетніше, ніж значення колекції за Заголовком. При використанні колекцій відбувається перевірка на їх існування. Якщо вказана Колекція на даному сайті не існує, то значення буде ігноруватися.

    - Товари синоніми
    Дана опція дозволяє відобразити групу товарів, схожих за характеристиками, наприклад, однаковий товар, різного кольору. Товари будуть відображатися в описі, у вигляді посилання та зображення.

    Наприклад, даний список товарів можна використовувати в тому випадку, якщо у вас один і той же товар має безліч розмірів і кольорів, при цьому, розмір можна вказати в «Різновиди», і згрупувати товари в полі «Товари Синоніми». Додавайте «Розміри» в «різновид», а товари іншого кольору в даний пункт. Таким чином, покупець зможе вибрати і «Колір» і «Розмір» одного товару.

    - Доставка: Вказати параметри доставки
    • 1 — вказати
    • 0 — не вказувати

    Крім того, автоматично замінюються наступні значення:
    • так, yes, true, є, вказати — замінюються на 1
    • немає, no, -, delete, приховати, hide — замінюються на 0
    • тільки нотатки, тільки текст, вказати тільки нотатку щодо доставки, text — замінюються на 3


    - Доставка: Є/Немає/Із загальних налаштувань/Тільки нотатка
    • 1 — є
    • 0 — немає
    • 2 — використовувати із загальних налаштувань
    • 3 — вказати тільки нотатку щодо доставки

    Крім того, автоматично замінюються наступні значення:
    • yes, +, є, так — замінюються на 1
    • none, -, немає, no — замінюються на 0
    • із загальних налаштувань, =, загальні налаштування, default — замінюються на 2


    - Доставка: Вартість доставки
    Вартість доставки

    - Доставка: Нотатки щодо доставки
    Ви можете вказати умови доставки. У полі допустиме використання HTML.

    - Доставка: Термін доставки
    Термін доставки. Відображається в інформації про доставку. Автоматично замінюються наступні значення:
    • 0 — доставка в день замовлення (сьогодні)
    • 1 — доставка на наступний день (завтра)
    • Також можна вказати період від — до днів, наприклад: 2–4.


    - Доставка: Габарити та вага товару
    Автоматично замінюються наступні значення в одиницях виміру:
    • Розмір:
      • 0 — сантиметри
      • 1 — метри
    • Вага:
      • 0 — грами
      • 1 — кілограми


    - Постачальник (Заголовок постачальника)
    Із вказаного поля беруться дані і звіряються з назвою Постачальників. Якщо категорія збігається, то встановлюється ID цієї категорії. Якщо вказаний постачальник на даному сайті не існує, то значення буде ігноруватися. Якщо вказати ID постачальника, то він буде пріоритетніше.

    - Посилання на зображення (основне) (Обов'язково необхідно вказати основне зображення, перед завантаженням додаткових)
    Ви можете вказати посилання на файл (зображення) і воно буде завантажено. Завантаження здійснюється якщо не встановлена галочка "Тільки оновлення". Якщо файл в картці товару вже існує, то він може бути перезаписаний. Для цього необхідно вказати значення "Перезаписувати зображення при виявленні". Аналогічним способом завантажуються і додаткові зображення ("Посилання на зображення (додаткове...)").

    - Посилання на зображення (додаткове 1-16)
    - Перезаписувати зображення при виявленні
    Якщо при імпорті товар вже існує, і у нього вже є зображення, то можна вказати яку дію виконати. Видалити старе зображення чи ні. Не перезаписувати - 0, Перезаписувати - 1, також автоматично замінюється текст Так, true та Немає.

    - Супутні товари
    До кожного продукту можна створити свій список супутніх товарів, які додатково будуть відображені на основній сторінці продукту. Вказуйте ID або код/SKU товарів, через кому.

    - Мітки
    До кожного продукту можна створити свій список міток, які додатково будуть відображені на основній сторінці продукту, і допоможуть при SEO просуванні товарів, а також для зручності навігації по вашому сайту. Вводьте мітки через кому. ДЛЯ ВИДАЛЕННЯ МІТОК НЕОБХІДНО ВВЕСТИ 0 (нуль), пробіл або delete

    - Заголовок різновиду
    Заголовок, що відображається над списком значень різновидів. Наприклад, Виберіть колір.

    - Оновлення різновиду
    До кожного продукту можна створити власний список різновидів / варіантів, які будуть додатково відображатися на сторінці товару. Нижче описано спосіб оформлення та оновлення різновидів при імпорті:

    • Ви можете завантажити файл імпорту, в якому дані будуть розділені на основні Товари та їх Різновиди / Комплектації.
      Щоб система розпізнала рядок як різновид, в комірці «Оновлення різновиду» вкажіть значення 1.
      В цьому випадку будуть враховуватися тільки наступні поля: Код товару, Наявність, Доступ, Найменування, Ціна, Оптова ціна, Закупівельна ціна, Габарити, Вага.
      Ці поля відповідають основним колонкам прайс-листа для імпорту (виняток — поле «Доступ», яке керує відображенням різновиду, наприклад, дозволяє приховати її).

      Якщо вказано «ID різновиду», буде оновлено саме цей різновид (якщо він вже існує). Аналогічно можна оновити різновид за «Кодом товару» або «Найменуванням»*. Якщо збігів немає — буде створено новий різновид.

      Щоб видалити різновид, в колонці «Видалити» вкажіть будь-яке непусте значення, наприклад 1 або delete.
      Якщо поле «Оновлення різновиду» пусте або дорівнює 0, рядок буде розпізнано як окремий товар, а не різновид.

      При необхідності можна вивантажити різновиди окремо — встановіть галочку «Розділити різновид» при експорті, і ви отримаєте файл тільки з різновидами.


      Для прикладу можна виконати експорт товарів — і ви побачите, як вказуються параметри різновидів і як вони оновлюються.
      Щоб видалити різновид, в колонці «Видалити» вкажіть будь-яке значення delete або 1.


      *Можна оновити існуючий різновид за Кодом товару.
      Для цього після завантаження файлу для імпорту увімкніть опцію «Оновлювати різновид за кодом товару».

      Як працює оновлення різновиду через комірки Excel:
      Якщо у товару є різновид і Код товару в рядку імпорту збігається з цим кодом, буде оновлено такі поля, як: Ціна, Наявність, Кількість в наявності, Порядковий номер (пріоритет), Оптова ціна, Мінімальне оптове замовлення, Стара ціна, Габарити, а також можна видалити різновид.
      Поля різновиду збігаються з основними полями для імпорту товару. Для керування способом відображення (відображати, приховувати або показувати неактивну кнопку) використовуйте колонку «Доступ». Значення off — приховає різновид.

      Якщо потрібно повністю оновити різновид (включаючи назву та стилі) — використовуйте колонку «Різновид» і вкажіть «Враховувати різновид» при імпорті. Ця опція дозволяє масово оновити дані всіх різновидів за кодом товару.

      Важливо! Якщо увімкнено одночасно параметри «Оновлювати різновид за кодом товару» і «Враховувати різновид», то різновид буде перезаписуватися двічі, що може призвести до конфлікту даних. Тому рекомендується використовувати тільки один із способів одночасно: або оновлення за кодом товару, або оновлення через колонку «Різновид».

    Ви можете здійснити імпорт файлу з розділенням полів на Товари або Комплектації / Варіанти / Різновиди.
    Функція імпорту цих даних доступна тільки для сайтів з оплаченим хостингом, а також припаркованим доменом.

    - Різновиди (в стислому форматі)
    Різновиди в стислому форматі - це додатковий спосіб перевірки різновидів. Поле містить різновиди в стислому вигляді: {VARIANT ID|Price|SKU|Priority / Position sorting|TITLE|Access|Stock|Show stock - param|Stock quantity|Image number|bulk price (split ;)|bulk price quantity (split ;)|Old Price|Cost Price|Width|HEIGHT|Lenght|centimeters -0 / meters -1|Weight|gram -0 / kilogram -1|Delete|Description / Text}
    Функція імпорту цих даних доступна тільки для сайтів з оплаченим хостингом, а також припаркованим доменом.

    - Тип товару та Характеристики
    До кожного продукту можна задати значення для пошукового фільтра (Тип товару та значення характеристик).

    Для імпорту Характеристик, спочатку виконайте вивантаження товарів для отримання списку Комірок з Характеристиками.

    Дані перевіряються при імпорті, і якщо знайдено відповідне значення, то воно враховується.

    Функція імпорту цих даних доступна тільки для сайтів з оплаченим хостингом, а також припаркованим доменом.

    - Видалити
    Якщо товар вже існує і його необхідно видалити, то в полі Видалити достатньо встановити значення: 1, Так або delete

    - Новинка, Хіт продажів, Знижка, Ціна знижена, Акція.
    Для активації даних полів можна використовувати наступні значення:1, Так або true, а також відповідне полю значення Новинка, Хіт продажів...
    Для поля Знижка використовується будь-яке текстове значення (поле - інформаційне, не виконує перерахунок)

    - Не вивантажувати в YML&RSS&XML.
    Не вивантажувати в YML&RSS&XML форматі. Доступні значення: 1, Так або true, - не вивантажувати, або 0, пусто - вивантажувати

    - Акція:Акційна пропозиція (текст)
    Текст акційної пропозиції. До 5000 символів, з підтримкою HTML. Для відображення акційної пропозиції, обов'язково активуйте поле «Акція».

    - Акція:Таймер:Дата та Час закінчення
    Дата та час у форматі 08.07.2015 12:59:33

    - Акція:Таймер:Після закінчення дати
    Дії після закінчення дати акції:

    • 0 - Нічого не робити (приховати таймер)
    • 1 - Перенести "Стара ціна" в основну ціну та видалити стару ціну
    • 2 - Прибрати позначку "Акція"
    • 3 - Перенести "Стара ціна" в основну ціну та Прибрати позначку "Акція"
    • 5 - Запустити таймер заново терміном на 1 день
    • 6 - Запустити таймер заново терміном на 10 днів
    • 7 - Запустити таймер заново з попереднім терміном (дата таймера мінус дата останнього редагування)
    • 8 - Прибрати позначку "Акція" та видалити "Стара ціна"


    - Пріоритет (Порядок відображення)
    Дана опція впливає на порядковий номер при перегляді списку товарів вашого магазину. За замовчуванням товари на сторінці магазину сортуються за id. Чим більше число, тим вище буде розташований товар. Змінити порядок сортування за замовчуванням можна в налаштуваннях, у вкладці Магазин.

    - Мінімальна кількість товару для покупки
    Мінімально необхідна кількість товару для покупки. За замовчуванням в кошик буде додано вказану мінімальну кількість товару. При оформленні замовлення покупець буде проінформований про необхідність додати ще товар, якщо його кількість в кошику менше вказаної.

    - Захисне зображення watermark
    Встановити захисне зображення, яке попередньо вказується в загальних налаштуваннях сайту. Доступні значення: 1, Так або true - вивантажувати, або 0 і пусто - не вивантажувати

    - Тип Різновиду для Google Merchant XML
    Допустимі значення:
    • 0 - size
    • 1 - color
    • 2 - pattern
    • 3 - material
    • 4 - age_group
    • 5 - gender


    - Доступ
    При необхідності можна приховати товар від відвідувачів та пошукових систем.

    Доступні значення:
    • 0, Немає, Вимк, false — Вимк;
    • true, 1, Увімк, 1 і пусто — Увімк.


    - І інші поля



Якщо при імпорті знаходиться товар з однаковим SKU/Кодом товару або ID, то дані будуть оновлені. Зображення враховуються тільки, якщо знята галочка «Тільки оновлення».
Асинхронний імпорт

Ви можете увімкнути опцію «Асинхронний імпорт», щоб завантажувати великі обсяги даних у фоновому режимі.

Переваги:

  • Імпорт відбувається у фоновому режимі — ви можете продовжувати роботу з сайтом під час обробки.
  • Браузер не перевантажується, а ви бачите прогрес у реальному часі.

Важливо:

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

Просування сайтів та SEO

Просування сайтів

На платформі BooStore.pro створені додаткові функції для SEO просування сайту, наприклад, ви зможете автоматично додавати до всіх товарів певної рубрики потрібні вам слова.

Рекомендації з SEO просування
Рекомендації з запуску рекламних кампаній


Рекомендуємо включити "перенаправлення з мовною прив'язкою". Ця функція допомагає уникнути дублікату стартової сторінки (дублікати погано впливають на SEO). У зв'язку з тим, що стартова сторінка domain.com та сторінка з прив'язкою до мови domain.com/ua/ є однією і тією ж сторінкою, рекомендуємо включати 301 перенаправлення на сторінку з прив'язкою до мови. Це можна зробити в Адмін-центрі, Налаштування, Стартова сторінка.

Доступ до сайту

Доступ до сайту

Ви можете обмежити доступ до сайту, в «Налаштуваннях», у вкладці "Про сайт".

Якщо ви плануєте використовувати власний домен, то рекомендуємо вам на тимчасовому доступі обмежити доступ до сайту, а після купівлі домену, відкрити його.

Якщо вам необхідно Видалити сайт / Інформацію про компанію, то відкрийте сторінку зміни інформації про Сайт / Компанію, та внизу встановіть галочку "Видалити сайт і всі дані" або "Видалити сайт". Через деякий час інформація про компанію / сайт, зникне з видачі пошукових систем.

Кеш

Кеш

Завдяки кешуванню користувачі, які повторно відвідують ваш сайт, витрачають менше часу на завантаження сторінок. Заголовки кешування мають застосовуватися до всіх кешованих статичних ресурсів, а не тільки до деяких з них (наприклад, зображень). Кешовані ресурси включають файли JavaScript та CSS, графічні та інші файли (мультимедійний вміст).

Кеш мультимедіа файлів

Згідно рекомендацій від Пошукових систем, а також для зручності відвідувачів, ми Включили на вашому сайті «Стиснення даних», а також Кешування графічних файлів та JavaScripts. Термін кешування цих файлів – один тиждень.  

Якщо ви завантажуєте нове зображення, поверх старого, то будете бачити старе зображення до тих пір, поки не очиститься Кеш браузера. В кожному браузері передбачений свій спосіб очищення кеша. Наприклад, в Chrome для примусового очищення необхідно натиснути «CTRL+F5» в вікні браузера, на вашому сайті.

Кеш сервера

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

Обслуговування сайту та очищення кеша

На сайті кешуються такі дані, як «Різновид товару», «Акції» (в т.ч. таймер), «RSS/XML/CSV» вивантаження, кількість товарів в категорії. Для очищення Кеша RSS/XML/CSV виберіть в Адмін-Панелі «XML/CSV/XLS/JSON» - «Очистити кеш XML/CSV вивантажень».

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

Архітектура та прискорення e-commerce сайтів

Часто задавані питання

Часто задавані питання

Початок

    Чи є на сайті проста система управління (адмін-панель)?

    Так. Платформа оснащена повноцінною панеллю управління, спроектованою для максимально швидкої роботи. Більшість налаштувань та елементів додаються через інтуїтивно зрозумілі спливаючі вікна з уточнюючими запитаннями, що виключає помилки при заповненні.

    Процеси вставки блоків, генерації віджетів та завантаження файлів відбуваються миттєво, без перезавантаження сторінок. Це значно економить час при наповненні магазину та робить управління сайтом легким і зручним навіть для початківців.

    Наскільки глибоко можна налаштовувати систему через адмін-панель?

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

    • Глобальна локалізація: повне управління Мовами та мультивалютністю з автоматичним оновленням курсів.
    • Логістика та продажі: детальна конфігурація зон Доставки, методів оплати та структури Магазину.
    • Інтерфейс та контент: візуальний редактор Дизайну, управління Каталогом, статтями та інформаційними сторінками.
    • Інтерактив та автоматизація: потужний конструктор Форм замовлення та гнучке налаштування Подій (наприклад, сценарії поведінки сайту при додаванні товару в кошик).

    Така архітектура робить систему максимально адаптивною: ви можете налаштувати все — від SEO-параметрів кожної сторінки до специфічних бізнес-процесів обробки заявок.

Дизайн

    Чи можна повністю змінити дизайн сайту?

    Так. Платформа дозволяє повністю управляти дизайном сайту. Ви можете редагувати HTML, підключати власні CSS стилі, додавати JavaScript, створювати користувацькі блоки та налаштовувати структуру сторінок. Це забезпечує повну кастомізацію сайту.

    Як редагувати сторінки?

    У вас є повний доступ до HTML-коду, а також зручний вбудований редактор та велика бібліотека готових блоків. Ви можете швидко додавати заголовки, слайди, блоки контактів, соціальні мережі та використовувати вбудовану бібліотеку SVG-іконок. Ознайомитися з роботою інструментів можна тут: Демонстрація редактора та Бібліотека блоків.

    Як створити власну шапку?

    Для цього створіть блок меню, виберіть його розташування — «Шапка сайту» — та вставте HTML-код потрібних елементів. Все оформлення рекомендується додавати через редактор дизайну (вкладка «CSS стилі»): такий підхід гарантує, що код буде автоматично мініфікований та забезпечить максимально швидке завантаження сайту.

    Як змінити шрифт на сайті?

    Рекомендується використовувати бібліотеку Google Fonts. Отриманий код (наприклад: <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Philosopher:wght@400;700&display=swap" rel="stylesheet">) необхідно вставити в блок меню, вибравши позицію «Службові теги». Після цього в редакторі дизайну у вкладці CSS стилі вкажіть елементи для присвоєння шрифту:

    html, body, * { font-family: "Philosopher", sans-serif; font-optical-sizing: auto; }
    Як додати HTML код на сторінку сайту?

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

    Крім того, для вирішення стандартних завдань доступні готові віджети. З їх допомогою можна швидко додати функціонал будь-якої складності: мобільне меню, кошик, списки категорій, класичне або мега-меню, а також інші елементи управління без необхідності писати код вручну.

    Як змінити дизайн інтернет-магазину?

    Дизайн можна змінити через редактор дизайну, використовуючи шаблони, налаштування блоків та CSS стилі. Також доступна повна кастомізація верстки сайту та готові пресети дизайну (блоки контактів, заголовки, контент сторінок).

    Чи можна змінити дизайн сайту без досвіду в програмуванні?

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

    Чи можна підключити власні скрипти або сторонні віджети?

    Так. Платформа не обмежує вас вбудованим функціоналом. Ви можете вставляти будь-який сторонній JavaScript-код (чат-боти, системи коллтрекінгу, кастомні лічильники) через управління блоками або безпосередньо в шаблони сайту. Для цього передбачені спеціальні поля «Перед </head>» та «Перед </body>».

    Чи можна використовувати шорткоди та динамічні дані в текстах?

    Так. Платформа підтримує систему замінних коротких кодів (шорткодів). Ви можете автоматично вставляти в текст назву товару, актуальну ціну, ім'я авторизованого користувача або шлях до сторінки. Це дозволяє створювати персоналізований контент та динамічні SEO-шаблони.

    Чи адаптовані сайти під мобільні пристрої?

    Так. Всі сайти на платформі використовують responsive-верстку. Інтерфейс автоматично підлаштовується під екрани смартфонів та планшетів, забезпечуючи високу швидкість завантаження та зручність використання на будь-яких мобільних пристроях.

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

    Як міняти стиль кнопок та елементів індивідуально?

    Для індивідуального редагування стилю достатньо натиснути «проінспектувати елемент» у браузері, знайти потрібний клас та прописати для нього властивості в редакторі дизайну (вкладка CSS). Структура BooStore.pro виключає «кашу» в стилях, оскільки кожен блок має унікальний ID та прив'язаний до типу контенту.

    Якою є ієрархія основних блоків сайту для роботи з CSS?

    Сайт має чітку структуру контейнерів: загальний обгортковий блок #hotengine-wrapper, шапка #hotengine-header, основний контейнер контенту #hotengine-content-container та підвал #hotengine-footer. Всередині контентної частини стилі розділяються за типами сторінок (ID): сторінки — #hotengine-content-page, статті — #hotengine-content-blog, товари — #hotengine-content-shop.
    Основні блоки

    Як розрізняти стилі категорій, колекцій та виробників?

    Для сторінок зі списками (категоріями) автоматично додаються уточнюючі класи: .hotengine-content-shop-category для товарів, .hotengine-content-shop-collection для колекцій та .hotengine-content-shop-producer для виробників. Це дозволяє задавати унікальний дизайн для кожного типу каталогу. Детальну таблицю відповідності ID та класів ви можете знайти в інструкції: Ідентифікатори та класи блоків.

    Чи є простий механізм редагування дизайну?

    Так. Платформа пропонує гнучкий редактор дизайну, каталог готових шаблонів та пресетів, які дозволяють швидко зібрати як багаторядковий лендінг, так і оформити загальний стиль всього сайту.

    Ви можете легко налаштувати шапку (header), футер (footer) та інші частини сайту. Для прискорення роботи вбудовані готові віджети, які дозволяють у кілька кліків створити мобільне меню, кошик, навігаційні списки або складні мега-меню, не вдаючись до програмування.

Як додавати та редагувати товари

    Як додати товари до каталогу інтернет-магазину?

    Товари можна додати вручну через панель управління або імпортувати з файлів XLS, CSV, XML, Google Таблиць або через API. Це дозволяє швидко наповнити каталог великою кількістю товарів.

    Де та як управляти списком товарів?

    Основне управління зосереджено в розділі Магазин — Мої товари. Це центральний хаб вашого каталогу, де доступні:

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

    Для цього використовується професійний інструмент Магазин — Групове редагування. Він дозволяє:

    • Масово змінювати ціни: Збільшити або зменшити вартість цілої категорії на певний відсоток або фіксовану суму.
    • Управляти статусами: Одним кліком увімкнути або вимкнути відображення сотень товарів, встановити мітки «Хіт продажів» або «Новинка».
    • Перенесення даних: Швидко перемістити товари з однієї категорії в іншу або масово призначити їм новий Тип товару з відповідними характеристиками.
    Як об'єднати кілька карток одного товару різного кольору або розміру?

    Для цього використовується функціонал «Різновиди». Ви можете створити кожну картку окремо для кращого SEO, а потім об'єднати їх за допомогою параметра «Товари синоніми». Також можна налаштувати вибір параметрів (колір, розмір, матеріал) всередині однієї картки через групи різновидів.

    Чи можна встановлювати оптові ціни для товарів?

    Так. Платформа дозволяє задавати оптові ціни як для основних товарів, так і для їх різновидів (варіацій). Ви можете налаштувати автоматичний перерахунок вартості залежно від кількості товару в кошику, що робить систему ідеальною для роботи в сегменті B2B та оптових продажів.

    Чи є обмеження на кількість товарів в інтернет-магазині?

    Платформа не обмежує максимальну кількість товарів. Архітектура SaaS системи дозволяє масштабувати проект від невеликого лендінгу до великих ecommerce каталогів із сотнями тисяч позицій. Завдяки серверній оптимізації, висока продуктивність зберігається при будь-яких об'ємах даних.

Категорії / Виробники / Колекції

    Як влаштована структура каталогу: категорії, виробники та колекції?

    Платформа пропонує трирівневу систему організації контенту. Ви можете створювати не тільки дерево категорій, але й окремі розділи для Виробників (брендів) та Колекцій. Кожна така одиниця має власну оптимізовану сторінку зі списком товарів, унікальним URL, SEO-текстом та мета-тегами, що дозволяє ефективно просуватися за брендовими та тематичними запитами.

    Чи можна швидко наповнити довідники категорій та брендів?

    Так, для цього передбачені інструменти миттєвого наповнення. Ви можете імпортувати списки категорій, виробників та колекцій через Excel (XLS), CSV або Google Таблиці. Також реалізована функція швидкого імпорту з буфера обміну: достатньо скопіювати список назв з будь-якого текстового редактора та вставити їх у спеціальне поле, щоб система автоматично створила відповідні записи.

    Чи підтримується імпорт статей та контенту?

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

Доставка

    Як налаштувати розрахунок вартості доставки залежно від країни або регіону?

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

    Як налаштувати способи доставки безпосередньо у формі оформлення замовлення?

    Перейдіть у розділ Магазин — Доставка — «Вибір способу доставки (у формі оформлення замовлення)». Ви можете створювати необмежену кількість методів, задавати їм «Назву», «Пріоритет» відображення у списку та прив'язувати до конкретної «Мови» сторінки. Для кожного методу можна вказати «Вартість доставки», а також налаштувати діапазони доступності за «Сумою замовлення», «Об'ємом (м3)» та «Вага (Кг)».

    Чи можна змінювати набір полів адреси для різних способів доставки?

    Так. У налаштуваннях кожного способу доставки є вибір конфігурації полів. Доступні варіанти: «Поля адреси в 1 рядок», розділення на «Область, місто, вулицю», а також спеціалізовані формати «Місто та номер відділення» або «Номер поштомату». Якщо ви пропонуєте «Самовивіз», ви можете вибрати пункт «Поля адреси приховані».

    Як підключити автоматичний вибір відділень через API (Нова Пошта, Укрпошта)?

    У налаштуваннях способу доставки в пункті «Api» виберіть потрібний сервіс (наприклад, «NOVAPOSHTA API» або «UKRPOSHTA API»). Ви також можете налаштувати «Фільтр відділень», щоб показувати користувачеві тільки вантажні відділення, поштомати або звичайні відділення. Платформа підтримує автоматизацію, дозволяючи увімкнути або вимкнути «Створення ТТН» прямо з налаштувань методу.

    Чи можна приховати певні способи оплати для конкретного виду доставки?

    Так, у платформі реалізовано співзалежність оплати та доставки. У редакторі способу доставки знайдіть пункт «Приховати спосіб оплати» та виберіть зі списку ті методи (наприклад, «Післяплата»), які не повинні відображатися при виборі даного варіанту доставки.

    Чи можна налаштувати автоматичне створення ТТН (товарно-транспортної накладної)?

    Так, ви можете увімкнути автоматичну генерацію ТТН через офіційне API «Нової Пошти» прямо в налаштуваннях способів доставки. Система підтримує роботу з контрагентами (відправниками), автоматично враховує індивідуальні габарити та вагу товарів із картки позиції, а також дозволяє гнучко створювати накладні як для післяплати («наложки»), так і для передоплачених замовлень.

    Як працює відстеження посилок (Tracking) для покупця?

    У налаштуваннях доставки ви можете вказати «Tracking URL» з маскою {TrackNo} (наприклад, https://site.com/?track={TrackNo}). Коли ви додасте номер накладної в «Статистиці продажів» до конкретного замовлення, система автоматично підставить його в посилання, і покупець зможе відстежити посилку в один клік зі свого кабінету або листа. Або використовуйте вбудовані API на Boostore, які дозволять дізнатися статус доставки в одне натискання прямо на сайті.

    Де додати опис умов доставки, який побачить клієнт?

    Використовуйте поле «Опис доставки» у налаштуваннях методу. Ви можете вставити туди текст або HTML-код. Цей опис буде динамічно відображатися у формі оформлення замовлення відразу після того, як користувач вибере відповідний пункт у списку способів доставки.

    Як налаштувати пункти самовивозу для інтернет-магазину?

    Для організації самовивозу перейдіть у розділ Магазин — Доставка — «Вибір способу доставки (у формі оформлення замовлення)». У налаштуваннях методу виберіть конфігурацію полів «Самовивіз з точки видачі (Поля адреси приховані)». Самі адреси точок налаштовуються в розділі Магазин — «Магазини/Пункти самовивозу», де ви можете додати необмежену кількість філіалів або складів, які будуть доступні покупцеві для вибору при оформленні замовлення.

Оплата та платіжні методи

    Чи складно підключити прийом платежів на сайті?

    Ні, популярні платіжні системи підключаються в кілька кліків у розділі «Магазин → Платіжні системи». Для захисту від шахрайства та підвищення довіри клієнтів, підключення агрегаторів платежів доступне для сайтів з власним доменом.

    Як додати вибір платіжної системи при оформленні замовлення?

    Спочатку підключіть платіжну систему в розділі Магазин — Платіжні системи. Після того як ваша система з'явиться в списку активних, перейдіть у розділ Налаштування — Магазин, Валюта та оплата — Вибір способу оплати (у формі оформлення замовлення). Додайте новий спосіб оплати та в полі «Спосіб оплати після вибору» вкажіть вашу систему. У пункті «Показати інші способи оплати крім вибраного, після оформлення замовлення» виберіть «приховувати» — тоді після оформлення замовлення користувач одразу перейде до оплати вибраним способом.

    Чи можна відправляти реквізити на оплату при оформленні замовлення?

    Так. У розділі Налаштування — Магазин, Валюта та оплата — Вибір способу оплати (у формі оформлення замовлення) виберіть потрібний метод та заповніть поле «Повідомлення, що надсилається на пошту, після оформлення замовлення» у форматі HTML. Також можна заповнити поле «Повідомлення після оформлення замовлення» — цей текст відобразиться одразу на сторінці успішного завершення замовлення, але для відправки реквізитів клієнту використовуйте саме перший пункт.

    Як додати пояснення до способу оплати прямо у формі замовлення?

    Перейдіть у розділ Налаштування — Магазин, Валюта та оплата — Вибір способу оплати (у формі оформлення замовлення) та в налаштуваннях конкретного методу заповніть поле «Опис способу оплати». Цей текст буде відображатися у вигляді інформаційного блоку безпосередньо у формі оформлення замовлення в момент вибору даного способу оплати. Це зручно для уточнення комісій або умов оплати.

    Як приховати поля адреси при оформленні замовлення на послуги?

    Якщо ви продаєте цифрові товари або послуги і адреса клієнта не потрібна, перейдіть у Налаштування — Магазин, Валюта та оплата — Вибір способу оплати (у формі оформлення замовлення). У налаштуваннях методу оплати активуйте пункт «Приховати поля адреси». У цьому випадку при виборі даного способу форма оформлення замовлення стане коротшою, а поля для введення даних доставки будуть приховані.

Імпорт товарів та автоматизація магазину

    Чи можна зробити перемикач валют на сайті?

    Так, покупці можуть самостійно обирати валюту для відображення цін. Конвертація відбувається за курсом, який можна вказати вручну в налаштуваннях або залишити поле порожнім для автоматичного оновлення вбудованими засобами платформи. Вибір валюти здійснюється через GET-змінну «setting_shop_currency».

    Доступні значення: BYN, EUR, KZT, PLN, RUB, UAH, USD.

    Ви можете вставити меню вибору валюти за допомогою короткого коду:

    {HOTENGINE-SC:currencymenu:BYN|EUR|KZT|PLN|RUB|UAH|USD}

    Для коректного відображення меню необхідно підключити готовий стиль, додавши у ваш CSS-файл рядок:

    @import url(/templates/styles/css_hotengine_currencymenu.css);

    Або ви можете створити власний стиль для оформлення елементів.

    Важливо: для активації цієї функції обов'язково увімкніть опцію «Зміна валюти відвідувачем» у розділі «Налаштування — Магазин, Валюта та оплата».

    Чи можна імпортувати товари в інтернет-магазин?

    Так. Товари можна імпортувати через XLS, CSV, Google Таблиці, XML або API. Доступна як повне завантаження каталогу, так і оновлення окремих даних: цін, характеристик та залишків.

    Підтримується автоматичний імпорт за розкладом з різних джерел. Ви можете самі обирати поля для оновлення та задавати націнки через вбудовані формули, що повністю автоматизує управління цінами в реальному часі.

    Чи можна автоматизувати наповнення магазину?

    Так, для роботи з великими базами даних передбачено розділ Магазин — Імпорт товарів. Ви можете завантажувати файли форматів XLS, CSV або XML. Система дозволяє гнучко зіставити стовпці вашого файлу з полями в базі даних сайту, що виключає необхідність ручного введення під час міграції з інших платформ або при отриманні свіжих прайсів від постачальників.

    Як налаштувати автоматичний імпорт товарів та які параметри доступні?

    Автоматичний імпорт (розділ Магазин — Автоматичний імпорт) дозволяє повністю делегувати оновлення каталогу системі. Ви можете створювати необмежену кількість сценаріїв імпорту з наступними параметрами:

    • Протоколи та джерела: Підтримуються HTTP, HTTPS, FTP, а також пряма інтеграція з Google Tables. Система працює з кодуваннями UTF-8 та Windows-1251.
    • Гнучкий розклад: Інтервал запуску від 4 годин до 30 днів. Можна задати пріоритет виконання для різних прайсів.
    • Типи файлів: Пряма робота з CSV, XLS, XLSX, XML/YML, а також підтримка архівів ZIP (автоматична розпаковка перед імпортом).
    • Розумна націнка: Вбудований калькулятор дозволяє автоматично змінювати ціну з прайсу. Можна додати відсоток або фіксовану суму (+, -, *, /) до закупівельної або роздрібної ціни. Доступні сценарії: наприклад, якщо в прайсі немає «Закупівельної ціни», націнка застосується до «Роздрібної».
    • Контроль залишків та даних:
      • Функція «Встановити "Немає в наявності" для інших» обнулить залишки товарів, яких немає в новому прайсі.
      • Автоматична конвертація зображень у формат WebP для прискорення сайту.
      • Можливість поділу комірки з кількома фото, якщо вони записані через пробіл.
    • Багатомовність: Автоматичний пошук та зв'язка товарів різними мовами за SKU (наприклад, code_en, code_ua).

    Після кожного імпорту система може надсилати звіт у Email або Push-повідомленні.

    Як автоматизувати роботу магазину та заощадити час?

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

    Як працює імпорт характеристик та складних структур даних?

    Імпорт реалізовано максимально гнучко: ви можете завантажувати характеристики товарів як з однієї комірки (списком), так і з окремих стовпців XLS/CSV. Також підтримується імпорт через API Commerce або XML-файли, що дозволяє синхронізувати навіть найскладніші структури даних.

API Commerce / WEBHOOCK / ІНТЕГРАЦІЇ

    Чи є в системі автоматичний імпорт даних?

    Так, у розділі Магазин — Автоматичний імпорт доступні функції планувальника для синхронізації каталогу. Ви можете налаштувати два сценарії:

    • Автоматичне оновлення: запускається кожні 4 години. Працює в режимі «Лише оновлення» (ціни, залишки) без додавання нових позицій та завантаження фото, що мінімізує навантаження.
    • Завантаження нових товарів: запускається раз на добу та виконує повноцінний імпорт нових надходжень до бази даних.

    Функція доступна для сайтів з припаркованим доменом. Для коректної роботи необхідно попередньо зберегти «Відповідність полів» (пресети №2 або №3) на сторінці імпорту товарів.

    Чи підтримує платформа API та інтеграції?

    Так. Платформа підтримує API інтеграції для автоматизації роботи сайту та інтернет-магазину. Це дозволяє синхронізувати товари, замовлення, ціни, підключати зовнішні сервіси та автоматизувати бізнес-процеси.

    Чи є у платформи API для інтеграції із зовнішніми системами?

    Так, платформа надає повнофункціональне REST API. З його допомогою ви можете синхронізувати залишки товарів, отримувати інформацію про замовлення, оновлювати ціни та управляти базою клієнтів із сторонніх ERP або CRM-систем (наприклад, 1С, MoySklad). API підтримує роботу з форматами JSON та XML, забезпечуючи високу швидкість обміну даними.

    Що таке Webhook і як їх використовувати?

    Webhook — це механізм сповіщень про події на вашому сайті. Замість того щоб постійно запитувати дані через API, ваша система може «слухати» сигнали від BooStore. Як тільки на сайті відбувається подія (наприклад, «Нове замовлення» або «Зміна статусу оплати»), платформа миттєво надсилає POST-запит на вказаний вами URL з детальними даними про подію.

    Які готові інтеграції доступні «з коробки»?

    Платформа підтримує пряму інтеграцію з популярними сервісами без необхідності написання коду:

    • Маркетплейси: Автоматичне вивантаження товарів у Google Merchant Center, Rozetka, Prom, Facebook Shop.
    • Платіжні шлюзи: Stripe, LiqPay, MonoPay, WayForPay, PrivatBank, Hutko та інші.
    • Доставка: Інтеграція з кабінетами Нової Пошти та Укрпошти для отримання відділень та поштоматів.
    • Аналітика: Google Analytics 4 (включаючи Ecommerce), Facebook Pixel та Google Tag Manager.
    • Інші постійно оновлювані інтеграції
    Де знайти документацію та як налаштувати інтеграцію через API?

    Повне технічне керівництво з методів інтеграції доступне у розділі Інструкція Commerce API.

    Всі необхідні ключі доступу та параметри авторизації генеруються та вказуються в панелі управління за шляхом: «Налаштування — API та Інтеграції». Там же ви можете протестувати з'єднання та налаштувати права доступу для зовнішніх сервісів.

    Як налаштувати автоматичну передачу замовлень в ERP або CRM?

    Для цього в розділі Налаштування — Магазин вкажіть URL вашого сервісу для приймання даних. Платформа буде автоматично надсилати POST-запит у JSON форматі одразу після оформлення замовлення. Запит містить повні дані про покупця, склад кошика та параметри доставки. Якщо ваш сервіс поверне у відповідь crm_order_id, він буде автоматично прив'язаний до замовлення в BooStore.

    Чи можна синхронізувати зміни статусів замовлень із зовнішньою системою?

    Так. У налаштуваннях можна увімкнути експорт статистики продажів. Система буде надсилати JSON-пакет при будь-якій зміні замовлення в адмін-панелі (зміна статусу оплати, доставки, зміна складу товарів). Це дозволяє реалізувати двосторонню синхронізацію, де Boostore виступає фронтендом, а облікова система (наприклад, 1С) — бекендом.

    Як отримати доступ до прайс-листу або статистики через зовнішній запит?

    Ви можете отримувати дані у форматах JSON або CSV за спеціальними адресами (наприклад, /ajax.php?statistic_sell або /csv_export_products.csv). Для безпеки використовується авторизація за ключем доступу, зашифрованим у MD5. У запитах можна використовувати фільтри (наприклад, &sort_dateperiod=1week), щоб отримувати тільки актуальні дані.

    Що таке Commerce API та які можливості воно дає?

    «Commerce API» — це сучасний інтерфейс управління магазином (аналог WooCommerce API), призначений для глибокої інтеграції із зовнішніми сервісами. Він дозволяє програмно отримувати списки замовлень, масово оновлювати товари, управляти категоріями, виробниками та колекціями. API підтримує стандартні HTTP-методи та повертає дані у форматі JSON. Детальна технічна документація та опис методів доступні за посиланням: Інструкція Commerce API.

    Які типи даних можна додавати або оновлювати через API?

    Система підтримує гнучке управління всіма ключовими сутностями магазину через Commerce API. Ви можете:

    • Управляти замовленнями: створювати нові замовлення (CREATE ORDER), оновлювати існуючі (UPDATE ORDER) та отримувати детальну інформацію по кожному (ORDER DETAILS).
    • Працювати з товарами: оновлювати дані конкретної позиції (UPDATE PRODUCT) або виконувати масове оновлення цін та залишків для групи товарів (UPDATE MULTIPLE PRODUCT).
    • Налаштовувати структуру: додавати та редагувати категорії (UPDATE PRODUCT CATEGORIES), управляти списком виробників (UPDATE PRODUCT PRODUCERS) та колекціями товарів (UPDATE PRODUCT COLLECTIONS).

    Це дозволяє повністю синхронізувати каталог та продажі з будь-якими зовнішніми системами обліку.

Сповіщення / Месенджери / E-mail

    Як працює відстеження замовлень у зовнішніх CRM?

    Для повної інтеграції в API передбачено параметр crm_order_id. Ви можете записувати ID з вашої CRM у базу Boostore та надалі отримувати або оновлювати дані замовлення саме за цим зовнішнім ідентифікатором (методи /crm_orders/{id}), не прив'язуючись до внутрішньої нумерації платформи.

    Чи підтримуються сповіщення в месенджери (Viber, Telegram)?

    Так, на BooStore.pro доступні миттєві сповіщення в Viber та Telegram, а також стандартні Email та Push-сповіщення. Ви можете налаштувати отримання даних з будь-яких форм зворотного зв'язку або кошика замовлень у зовнішні джерела в реальному часі.

    Чи є в системі Push-сповіщення для браузера?

    Так, платформа підтримує технологію Web Push сповіщень. Ви можете налаштувати їх відправку адміністратору про нові замовлення або події на сайті. Це дозволяє оперативно реагувати на дії клієнтів, навіть якщо у вас не відкрита вкладка з панеллю управління — сповіщення прийде прямо на робочий стіл або екран смартфона через браузер.

Генерація посилань додавання товарів та рахунків на оплату

    Чи можна налаштувати відправку листів через власний SMTP-сервер?

    Так, це рекомендується для забезпечення максимальної доставки ваших листів. У розділі Налаштування — Пошта ви можете вказати параметри свого SMTP (сервер, порт, логін, пароль та тип шифрування). Це дозволить системі надсилати сповіщення клієнтам та адміністратору через вашу офіційну поштову скриньку (наприклад, info@vash-domain.com), що значно підвищує довіру поштових сервісів та знижує ризик потрапляння листів у спам.

    Чи можна автоматизувати додавання товарів у кошик?

    За допомогою Генератора посилань ви можете перетворити будь-який елемент на сайті (кнопку, текст або картинку) на інструмент автоматичного додавання товарів у кошик. Ви самі визначаєте сценарій: додати один або кілька товарів одразу та виконати миттєве перенаправлення на сторінку оплати.

    «Магазин → Генератор посилань додавання товарів у кошик»

Оплата та платіжні методи

    Чи можна генерувати рахунки на оплату послуг «на льоту»?

    Так. Платформа дозволяє створювати кнопки для оплати будь-яких послуг або товарів без необхідності їх попереднього пошуку в каталозі. Наприклад, ви можете розмістити кнопку «Записатися на семінар», налаштувати форму збору контактів і одразу після її заповнення перенаправити клієнта на оплату вибраним способом.

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

    «Магазин → Генератор рахунку на оплату»
    Чи можна підключити власний домен та SSL-сертифікат?

    Так. Ви можете підключити власний домен другого рівня через DNS-налаштування. Всі сайти на платформі працюють через захищений протокол HTTPS. SSL-сертифікат підключається автоматично та безкоштовно, що гарантує безпеку даних і довіру пошукових систем.

    Чи підтримує платформа багатомовність сайту?

    Так. Ви можете створювати повноцінні багатомовні сайти, додаючи різні мовні версії для сторінок, товарів і категорій. Для кожної локалізації формуються окремі URL, що дозволяє ефективно просувати проект у різних країнах і покращувати SEO.

    Чи можна вести блог та публікувати статті?

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

    На Boostore є система знижок і програма лояльності?

    На Boostore реалізована гнучка система лояльності, що включає знижки та кешбек. Головна особливість у тому, що систему знижок можна прив'язувати до конкретних груп клієнтів. Це дозволяє створювати персональні пропозиції для постійних покупців, VIP-клієнтів або партнерів, автоматизуючи роботу з різними сегментами аудиторії.

Google Analytics / Tag Manger / Pixel

    Чи можна нараховувати бонуси або кешбек при реєстрації?

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

    Налаштування бонусів підтримує складні формули: відсоток від суми, фіксовані значення або математичні операції (напр. XX%, -XX, /XX). Кешбек відображається у профілі покупця та нараховується автоматично при переході замовлення у статус «Опрацьовано» або «Завершено».

    Для захисту прибутку передбачений ліміт списання: наприклад, при вартості товару 100$ та ліміті 10%, клієнт не зможе оплатити бонусами більше 10$. Всі розрахунки, включаючи дробові значення, автоматично округлюються до двох знаків після коми для точності обліку.

    Як підключити аналітику та відстежувати продажі?

    На платформі реалізована автоматична інтеграція з Google Analytics 4, Google Tag Manager та Facebook Pixel. Вам достатньо просто вказати ваші ідентифікатори в розділі Налаштування — Статистика. Система автоматично почне передавати дані e-commerce, що дозволить вам аналізувати ефективність реклами та поведінку користувачів без залучення програмістів.

    Які саме події передаються в аналітику автоматично?

    Система за замовчуванням транслює всі стандартні події електронної комерції:

    • view_item_list і view_item — перегляд каталогу та картки товару;
    • add_to_cart і remove_from_cart — дії з кошиком;
    • begin_checkout і purchase — процес та завершення замовлення;
    • generate_lead і sign_up — відправка форм та реєстрація.

    Для Facebook Pixel також передаються події PageView, ViewContent, AddToCart та Purchase з автоматичною конвертацією вартості в USD за курсом вашого сайту.

    Чи можна налаштувати власні теги та події?

    Так. Ви можете реалізовувати передачу власних тегів, використовуючи JavaScript, короткі коди (ShortCodes) та спеціальну мікророзмітку hotengine-markers. Це дозволяє динамічно підставляти дані про товари або замовлення у ваші кастомні скрипти відстеження. Крім того, на сторінках підтвердження замовлення можна встановлювати індивідуальні коди конверсії.

Управління файлами

    Чи підтримується режим згоди (Consent Mode)?

    Так. Відповідно до сучасних вимог конфіденційності (GDPR), на платформі передбачено Режим згоди. Активувати його можна в розділі Налаштування — Статистика. Це дозволяє коректно управляти тегами відстеження залежно від вибору користувача, забезпечуючи легальний збір даних для Google та Facebook.

    Чи є в системі файловий менеджер?

    Так. В адмін-панелі передбачено повноцінний розділ «Файли». Він дозволяє зручно управляти всіма завантаженими медіафайлами, документами та архівами вашого сайту в одному місці.

    Чи є конвертація та обробка зображень при завантаженні?

    Так. Платформа підтримує автоматичну обробку графіки. Прямо при завантаженні файлів зображення можна пропорційно зменшити або конвертувати в сучасні стандарти WebP, PNG та JPG для забезпечення максимальної швидкості завантаження сторінок.

Pop-Up Спливаючі вікна

    Чи можна створювати папки для організації файлів?

    Так. Ви можете створювати необмежену кількість папок та підпапок для структурування контенту. Це дозволяє зручно розподіляти зображення, прайс-листи та документи по розділах, а також масово управляти файлами через веб-інтерфейс прямо в розділі «Файли».

    Чи можна створювати спливаючі вікна (Pop-up) на сайті?

    Так, у платформу вбудовано потужний генератор модальних вікон. Вікно викликається простим додаванням класу class="hotengine-script-popup" до посилання або кнопки. Ви можете завантажувати у спливаючому вікні відео з Youtube, контент з інших сторінок сайту, картки товарів або довільний HTML-блок за його ID або класом. Генератор спливаючих вікон - https://boostore.pro/ua/page.php?p=submit_catalog_page&subpage&generatepopup

    Які налаштування доступні для спливаючих вікон?

    Через data-атрибути ви можете повністю контролювати поведінку вікна: задавати «ширину» (data-width) та «висоту», встановлювати ліміти (data-max-width), фіксувати заголовок або налаштовувати адаптивність для мобільних пристроїв (data-mobile-width). Також доступні розширені функції: data-dialog-callback для запуску JS-функції після відкриття вікна та data-close-overlay для керування закриттям вікна по кліку поза його областю.

Віджети HTML

    Як вивести картку товару або статтю у спливаючому вікні?

    Для цього використовуються спеціальні типи завантаження даних (data-iframe). Наприклад, значення «5» завантажить дані картки товару, «1» — статтю з каталогу, а «14» або «15» завантажать чистий HTML цих сторінок без зайвих елементів дизайну. Це дозволяє створювати швидкі попередні перегляди товарів або інформаційні довідки без перезавантаження всієї сторінки. Генератор спливаючих вікон - https://boostore.pro/ua/page.php?p=submit_catalog_page&subpage&generatepopup

    Що таке Віджети HTML?

    «Віджет HTML» — це набір незалежних HTML-елементів для вставки на сторінки сайту. До бібліотеки входять: Accordion, Tabs, Callback block, Слайд з коментарями/відгуками, а також Offers mosaic (перелік товарів у стилі мозаїки) та Google Reviews (динамічне підвантаження відгуків через API).

    Що таке Spoiler (Спойлер) і як він працює?

    Spoiler — це елемент сторінки, який спочатку приховує частину контенту та розкривається тільки по кліку. На нашій платформі спойлери реалізовані виключно за допомогою CSS, що дозволяє їм працювати миттєво без використання додаткових JavaScript-скриптів.

Додавання товарів - своя кнопка

    Для чого використовується Price range swiper?

    Price range swiper — це зручний графічний слайдер для вибору діапазону цін у пошуковому фільтрі. Він дозволяє користувачам швидко обмежувати вибірку товарів за вартістю, просто переміщуючи повзунки, що значно покращує юзабіліті магазину.

    Що таке Генератор посилань додавання товарів і для чого він потрібен?

    Це інструмент у розділі Магазин — Генератор посилань, який дозволяє створити одне посилання, при кліку на яке в кошик автоматично додається один або одразу кілька товарів. Це ідеально підходить для лендингів (сайтів одного товару), рекламних розсилок або кнопок «Купити комплект», оскільки дозволяє користувачеві перейти одразу до оформлення замовлення, минаючи етап ручного наповнення кошика.

    Які параметри можна налаштувати для посилання додавання в кошик?

    Генератор дозволяє гнучко керувати процесом покупки через такі налаштування:

    • ID товарів і кількість: можна вказати список ID через кому та задати точну кількість для кожного (наприклад, 1,1,2).
    • Різновиди: підтримка конкретних модифікацій товару за їх ID.
    • Очищення кошика: функція «Очищати кошик» видалить всі старі товари перед додаванням нових (корисно для монобрендових акцій).
    • Перевірка на повтор: захист від випадкового багаторазового додавання одного й того ж товару при повторному кліку.
    Чи можна зробити перенаправлення одразу на сторінку оформлення замовлення?

    Так. У полі «Посилання для перенаправлення» ви можете вказати адресу кошика (наприклад, /ua/page.php?p=cart&send). Також налаштовується «Час до перенаправлення» (в мілісекундах) — рекомендується ставити невелику затримку (наприклад, 2000 мс), щоб система встигла гарантовано зафіксувати додавання товарів у сесію користувача перед переходом.

    Як керувати сповіщеннями при використанні таких посилань?

    У пункті «Повідомлення після додавання товару» можна вибрати один із трьох режимів: «Не показувати жодних повідомлень» (для безшовного переходу), «Тільки повідомлення про додавання» або «Показувати всі». Для лендингів найчастіше використовується приховування повідомлень, щоб клієнт одразу бачив форму замовлення.

Генерація рахунку на оплату онлайн

    Чи можна захистити посилання від ботів?

    Так, генератор підтримує налаштування «Захисний код». Ви можете включити обов'язкове введення капчі (від 3 до 9 символів) перед тим, як товари потраплять до кошика, що допомагає уникнути спам-замовлень через прямі посилання.

    Чи можна створити пряме посилання або кнопку для оплати рахунку?

    Так, у системі є інструмент Магазин — Генератор рахунку на оплату - https://boostore.pro/ua/page.php?p=submit_catalog_page&subpage&shop_catalog_payment_systems&shop_catalog_payment_systems_generate_link. Він дозволяє створити спеціальне URL-посилання, при кліку на яке користувач потрапляє на сторінку формування рахунку з вже заповненими даними. Це зручно для виставлення рахунків у месенджерах, соцмережах або створення кнопок швидкої оплати на лендингах.

    Які параметри можна передати в посиланні на оплату?

    Через GET-запит ви можете повністю сформувати контекст платежу:

    • Сума та валюта: payment_price (ціна) і payment_currency (доступні USD, EUR, UAH, PLN та ін.).
    • Дані платника: payment_email, payment_soname (ім'я) і payment_phone.
    • Опис замовлення: payment_desc — інформація, яку побачить клієнт і ви в панелі керування.
    • Вибір системи: shop_payment_systems (ID конкретного шлюзу) і флаг hide_selector_payment_systems, щоб заборонити користувачеві змінювати спосіб оплати.
    • Аналітика: shop_cart_statistic_group — мітка для групування замовлень у статистиці продажів.
    Як реалізувати введення даних перед оплатою (Pop-up вікно)?

    Оскільки в прямому посиланні дані клієнта можуть бути не заповнені, рекомендується використовувати JS-скрипт спливаючого вікна. Платформа надає готове рішення: hotengine-payment-popup-demo.js. За його допомогою клієнт спочатку вводить свої контакти в акуратному Pop-up вікні, після чого скрипт автоматично доповнює посилання цими даними та перенаправляє користувача на оплату.

Віджети / Меню / Інше

    На що варто звернути увагу при використанні генератора рахунків?

    Важливо пам'ятати два моменти:

    1. Безпека: Оскільки параметри передаються у відкритому вигляді в посиланні, покупець технічно може змінити ціну в рядку браузера. Завжди перевіряйте відповідність суми оплати вашим очікуванням в адмін-панелі перед відвантаженням товару.
    2. Налаштування шлюзів: Попередньо підключіть та активуйте платіжні системи в налаштуваннях магазину. Якщо системи не налаштовані, клієнт отримає повідомлення про створення замовлення, але не зможе здійснити транзакцію.
    Де знаходяться інструменти для створення віджетів і меню?

    Всі генератори доступні в розділі Магазин — Віджети (або за прямим посиланням в адмін-панелі: Генератор віджетів). У цьому розділі ви знайдете:

    • Віджет з категоріями: для створення навігації та меню.
    • Віджет з товарами: для виведення вітрин і слайдерів продукції.
    • Віджет з виробниками: для відображення брендів.
    • Віджет зі статтями: знаходиться в розділі Каталог статей — Віджет зі статтями і дозволяє виводити анонси блогу в будь-якому місці сайту.
    Чи можна розмістити товари з магазину в довільному місці сайту?

    Так, для цього в розділі Магазин виберіть «Віджет з товарами». Він дозволяє згенерувати короткий код (ShortCode), який можна вставити в опис товару, новину, статтю або статичний текстовий блок. Віджет автоматично перетворює список вибраних товарів на інтерактивний слайдер або стильну вітрину. Приклад роботи віджета з товарами.

    Як виглядає і працює ShortCode віджетів?

    Типовий код виглядає так: [MENU:shop_products_slider:pers_cat_id-123:on_page-4:button-cart:sale]. Система миттєво замінює цей код на блок з товарами. Ви можете гнучко керувати видачею за допомогою параметрів:

    • Фільтрація: за категоріями (pers_cat_id), виробниками (producer) або колекціями (collection).
    • Маркетингові мітки: виведення тільки новинок (new-products), хітів (bestseller) або товарів з акції (sale).
    • Відображення: додавання кнопки кошика (button-cart), рейтингу (rating-stars) або різновидів (variety).
    • Сортування: за ціною, датою або випадковий порядок (random).
    Як адаптувати віджет під мобільні пристрої та швидкість завантаження?

    Для професійного налаштування використовуйте параметри оптимізації:

    • Lazy Load (:lazy-0): прискорює завантаження сторінки, підвантажуючи зображення тільки при прокрутці.
    • Авто-ширина (:auto_width): кількість карток у ряду підлаштовується під екран автоматично.
    • Режим Scroll (:scroll-9999x8x0): на смартфонах замінює кнопки на зручну горизонтальну стрічку (swipe), економлячи місце.
    • Режим Append (:append-900): на десктопах додає кнопку «Показати ще» замість довгої прокрутки.
    • повний перелік параметрів доступний на сторінці Магазин - Віджет з товарами.
    Чи можна змінити дизайн віджета товарів?

    Так. Ви можете задати унікальний ID (:id-my_block) і прописати для нього свої CSS-стилі. Якщо потрібен повністю кастомний інтерфейс, використовуйте віджет без параметра :add-javascript — система видасть чисту HTML-розмітку, яку ви зможете інтегрувати в будь-який сторонній слайдер (наприклад, Swiper).

    Чи можна вивести дерево категорій магазину в довільному місці сайту?

    Так, у розділі Магазин виберіть «Віджет з категоріями». Згенерований ShortCode дозволить вставити меню в будь-який блок. Система підтримує різні типи відображення: Mega Menu (бургер з розкривним вікном), Flex-меню (вертикальне з підкатегоріями збоку), Horizontal (горизонтальний ряд) або класичний Dropdown.

    Як налаштувати глибину та інформативність меню категорій?

    Ви можете тонко налаштувати віджет категорій через додаткові параметри:

    • Вкладеність (:treelevel-2): обмежує глибину дерева, що відображається.
    • Деталізація: виведення кількості товарів (:products) або іконок (:imageattr).
    • SEO (:googlenav): додає мікророзмітку навігації для пошуковиків.
    • Карусель (:carousel): перетворює список категорій на динамічний слайдер з налаштуванням автоплею та швидкості.
    Як налаштувати Мега-меню (Mega Menu)?

    Mega Menu (параметр :megamenu) — це універсальне адаптивне рішення. Налаштувати його можна в розділі Магазин — Віджет з категоріями. При активації з'являється кнопка-бургер, що відкриває вікно з категоріями зліва та контентом справа. У мобільній версії меню автоматично переходить у повноекранний режим.

    • Режим :multiply: у правій панелі одразу виводиться сітка зі списками другого та третього рівнів вкладеності.
    Що таке Flex-меню та вертикальне меню?

    Для бічних панелей передбачено два типи, доступних на сторінці налаштувань Магазин — Віджет з категоріями:

    • :vertical — класичний вертикальний список.
    • :flexmenu — компактне меню з фіксованою висотою (:height-400). Підкатегорії відкриваються в блоці праворуч від батьківського елемента.
    • Дод. опції Flex: :with-overlay (затемнення фону), :scroll-lock (блокування прокрутки сторінки), :fix-on-top (прив'язка до верху) та :disallow-overflow (заборона виходу елементів за межі блоку).
    Як використовувати горизонтальне, випадне та інші типи меню?

    У розділі Магазин — Віджет з категоріями ви можете вибрати один із наступних форматів відображення:

    • :horizontal — горизонтальний ряд. При встановленні ID hotengine-categories-lists-horizontal можна використовувати всередині контентних сторінок.
    • :dropdown — стандартне випадне меню.
    • :full — дерево категорій у повністю розкритому вигляді.
    • :list — список підкатегорій (аналогічно сторінці категорії), використовується разом з параметром start-X.

Типи товарів / Пошуковий фільтр / Порівняння товарів

    Які ще параметри налаштування категорій доступні?

    На сторінці Магазин — Віджет з категоріями ви можете тонко доналаштувати ShortCode:

    • Рівень вкладеності (:treelevel-X): обмеження глибини дерева.
    • Інформативність: додавання лічильника товарів (:products), іконок (:imageattr) або SEO-розмітки навігації (:googlenav).
    • Адаптивність: :scroll-9999x3 перетворює список на горизонтальну стрічку зі свайпом на мобільних пристроях.
    • Карусель (:carousel): включає ефект слайдера з підтримкою автоплею (:carousel-autoplay-true).
    • Інші параметри...
    Що таке «Типи товарів» і як вони пов'язані з фільтрами?

    Типи товарів (напр., «Ноутбуки», «Взуття») дозволяють групувати товари за унікальними властивостями. До кожного типу прив'язується свій набір характеристик (Розмір екрану, Колір, Матеріал). Саме на основі цих характеристик система автоматично будує пошуковий фільтр, дозволяючи покупцям знаходити товари за конкретними параметрами.

    Який порядок створення характеристик і фільтрів?

    Процес налаштування проходить у три етапи:

    1. Створення типу: В адмін-панелі створюєте новий Тип продукту.
    2. Додавання характеристик: Після збереження типу додаєте до нього групи характеристик та їх можливі значення (напр., для групи «Вага» значення «10 кг», «20 кг»).
    3. Прив'язка до товару: У картці товару вибираєте його «Тип», після чого система запропонує заповнити відповідні характеристики.
    Чи підтримуються множинні значення характеристик?

    Так. Ви можете вказати кілька значень для однієї характеристики одного товару. Наприклад, якщо модель кросівок представлена в кількох кольорах, ви можете відзначити «Сірий», «Зелений» та «Червоний» одночасно. У пошуковому фільтрі такий товар відображатиметься при виборі будь-якого з цих кольорів.

    Як розмістити пошуковий фільтр на сайті?

    Існує два способи:

    • Функціональне меню (рекомендується): Створіть меню типу «Пошук з Фільтром за типами продуктів». Це забезпечить кращу сумісність з мобільною версією.
    • Короткий код (ShortCode): Вставте в текст сторінки код {HOTENGINE-SC:smart_search_widget:PARAM}, де PARAM — налаштування фільтра.
    Що таке параметр «autopath» і для чого він потрібен?

    Параметр autopath (або autopathID у тексті блоку) критично важливий для збереження контексту пошуку. Він дозволяє виконувати фільтрацію всередині поточної відкритої категорії, не скидаючи користувача на загальну сторінку пошуку. Наприклад, для ноутбуків можна задати відображення фільтра тільки за шляхом /pers_shop/notebook/.

    Як налаштувати відображення кількості товарів у фільтрі?

    У налаштуваннях типу товару або через параметри ShortCode можна керувати лічильниками:

    • count — показувати кількість товарів поруч із значенням.
    • count_all — рахувати товари по всьому сайту, ігноруючи поточну категорію.
    • hideempty — автоматично приховувати характеристики, для яких не знайдено товарів у поточному розділі.
    Як увімкнути функцію порівняння товарів?

    Порівняння працює тільки для товарів, у яких задано Тип продукту. Для активації необхідно:

    1. В «Налаштуваннях магазину» (вкладка Перегляд товару) увімкнути кнопку «Порівняти».
    2. В налаштуваннях конкретного Типу товару і в самих Характеристиках встановити галочку «Порівняння».
    3. На сторінці порівняння (/compare.htm) відобразяться тільки ті параметри, для яких ця галочка активна.
    Де користувач може побачити список доданих до порівняння товарів?

    Список доступний за адресою /compare.htm. Для зручності користувачів рекомендується додати в шапку сайту кнопку з індикатором кількості вибраних позицій, використовуючи короткий код: {HOTENGINE-SC:shop_compare_menu}.

    Чи можна стилізувати елементи порівняння?

    Так. Всім елементам картки товару, доданим у порівняння, система автоматично присвоює атрибут data-compare="1". Ви можете використовувати його у своїх CSS-файлах для візуального виділення вибраних позицій.

    Як працюють автоматичні описи на основі характеристик?

    Система дозволяє створювати шаблони описів, які підтягуються в картку товару автоматично. Вміст такої статті буде динамічно змінюватися залежно від того, які характеристики (Тип, параметри) встановлені у конкретного товару.

Масове / Групове редагування товарів

    Як перекласти значення фільтрів на інші мови?

    Ви можете перекладати значення характеристик безпосередньо в їх налаштуваннях. Щоб переклад коректно відображався у вивантаженнях (XML/CSV/JSON), використовуйте посилання з мовною приставкою (наприклад, /ua/export_file) або вказуйте потрібну мову в параметрах генерації файлу.

    Чи є в системі можливість масового (групового) редагування товарів?

    Так, для цього призначений потужний інструмент «Групове редагування» у розділі «Магазин». Він дозволяє не редагувати кожен товар окремо, а застосовувати зміни одразу до сотень або тисяч позицій. Ви можете масово змінювати ціни (використовуючи математичні формули), переносити товари між категоріями, оновлювати статуси наявності, вмикати акції та навіть керувати доступом (публікація або видалення) для всієї вибраної групи товарів одним кліком.

    Як працює пошук і фільтрація в груповому редагуванні?

    Перед оновленням ви можете гнучко відфільтрувати потрібні товари за:

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

    У блоці «Оновлення» доступний математичний калькулятор для цін. Ви можете:

    • Встановити фіксовану ціну (через =).
    • Провести індексацію: додати або відняти суму (+100) або відсоток (+15%).
    • Помножити або розділити: наприклад, для конвертації валют (*41).
    • Працювати зі старою ціною: перенести поточну ціну в «стару» (створивши акцію) або навпаки — очистити старі ціни.
    • Використовувати націнку: розрахувати нову роздрібну ціну на основі закупівельної ціни (Cost Price) із заданим коефіцієнтом або відсотком.
    Як масово налаштувати акції та таймери розпродажів?

    Групове редагування дозволяє перетворити звичайні товари на акційні:

    • Активація мітки: встановлення прапорців «Акція», «Новинка», «Хіт продажу» або «Ціна знижена».
    • Контент акції: через вбудований візуальний редактор можна задати загальний опис умов акції для всіх вибраних товарів.
    • Автоматизація за таймером: ви встановлюєте дату закінчення, і система сама вирішить, що зробити після закінчення часу (наприклад, повернути стару ціну, прибрати мітку акції або перезапустити таймер на новий термін).
    • Оптові прив'язки: можна одним кліком встановити «Ціну» рівною мінімальній або максимальній оптовій ціні товару.

Резервна копія

    Що ще можна змінити масово?

    Окрім цін та акцій, доступні такі дії:

    • Перенесення в іншу категорію або зміна виробника для всієї групи.
    • Керування наявністю: масово встановити статус «В наявності», «Під замовлення» або повністю приховати товари зі списку.
    • Синхронізація мов: якщо увімкнено опцію «Товари іншими мовами», зміни застосуються до всіх локалізацій пов'язаних товарів.
    • Керування доступом: швидка публікація, зняття з продажу або повне видалення групи товарів.
    • Знижки: встановлення текстових міток знижок (наприклад, «-10%» або «Sale»), які відображатимуться на іконках товарів.
    Чи є в системі можливість створення резервної копії сайту?

    Так. У розділі Налаштування — Резервна копія сайтів ви можете сформувати файл, що містить основні дані вашого ресурсу. До резервної копії включаються: всі статичні сторінки, структура меню, новини, статті, категорії каталогу статей та ваші індивідуальні CSS-стилі.

Захист від спаму

    Як правильно зберегти дані інтернет-магазину (товари, категорії)?

    Оскільки каталог товарів може бути дуже об'ємним, він виноситься в окремий експорт. Для повного збереження даних магазину рекомендується регулярно виконувати експорт наступних розділів: Товари, Категорії магазину, Виробники та Колекції. Це дозволить вам мати актуальну копію всієї комерційної структури сайту окремо від системних налаштувань дизайну.

    Чи є на платформі захист від спаму?

    Так, у системі реалізовано багаторівневий захист від небажаних повідомлень та спам-замовлень:

    • Капча: ви можете включити захисний код як у Конструкторі форм, так і в налаштуваннях оформлення замовлення (розділ Налаштування — Магазин). Доступний вибір складності (від 3 до 9 символів).
    • Глобальний фільтр: вбудована база даних автоматично блокує запити з відомих спам-ресурсів.
    • Власна база фраз: у розділі Налаштування — Фільтр вхідних повідомлень ви можете створити особистий список заборонених слів і стоп-фраз. Повідомлення, що містять такі дані, будуть автоматично відхилятися системою.

Мобільне меню та мобільна версія сайту

    Які додаткові технічні засоби захисту від ботів використовуються у формах?

    Окрім видимої капчі, платформа використовує приховані механізми захисту. У форми вбудовані приховані поля перевірки ботів (honey-pots): роботи автоматично заповнюють їх, в той час як для реальних користувачів вони невидимі. Якщо таке поле заповнено, система миттєво блокує відправку даних. Також діє захист від повторних відправок: встановлено ліміт (флуд-контроль), який обмежує частоту запитів з однієї IP-адреси, запобігаючи автоматизованому спаму та випадковим дублікатам замовлень.

    Чи буде мій сайт адаптований під мобільні пристрої?

    Так, всі сайти на платформі будуються на основі блочної верстки, яка автоматично підлаштовується під будь-які екрани — від смартфонів до широкоформатних моніторів. Ви отримуєте повний доступ до HTML, CSS та JavaScript, що дозволяє довести мобільну адаптацію до ідеалу, налаштовуючи відображення кожного елемента індивідуально для різних роздільних здатностей.

    Чи є спеціальні функції для мобільної версії сайту?

    Система підтримує створення окремого мобільного меню та оптимізованих віджетів (наприклад, горизонтальний скрол товарів), які значно покращують UX на тачскринах. Завдяки можливості гнучко приховувати або перебудовувати блоки, ви можете створювати максимально легкі та швидкі інтерфейси, що відповідають всім вимогам Google Core Web Vitals.

    Чи можна зробити сайт схожим на мобільний додаток?

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

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

    Як працює мобільне меню і чи можна приховати зайві елементи?

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

Форми

    Чи можна створити професійну систему бронювання (Booking)?

    Так. Платформа Boostore включає потужний віджет бронювання, який дозволяє організувати запис на послуги або оренду будь-яких ресурсів: від столиків у ресторанах та массажних кабінетів до прокату автомобілів та запису на групові заходи.

    Ключові можливості системи бронювання:

    • Розділення на об'єкти: За допомогою ID груп можна розділити розклад для різних майстрів, залів або одиниць техніки.
    • Гнучкі часові слоти: Ви самі задаєте крок часу (наприклад, 30 хвилин або 2 години) та максимальну тривалість одного бронювання.
    • Автоматичний розрахунок вартості: Система вміє динамічно перераховувати ціну залежно від вибраного періоду (наприклад, ціна за 1 годину * кількість годин) або використовувати фіксований тариф.
    • Розумні статуси та календар: Слоти синхронізовані зі статистикою продажів. Статуси «Попередній запис», «Заброньовано» або «Скасовано» миттєво змінюють доступність часу на сайті. Якщо слот зайнятий — повторне бронювання неможливе (крім групових подій).
    • Багатомісне бронювання: Для семінарів або групових тренувань можна вказати кількість доступних місць на один і той же період.
    • Оплата для фіксації броні: Можна налаштувати обов'язкову передоплату. Відразу після вибору часу клієнт перенаправляється на платіжну систему, а статус броні змінюється автоматично після успішного платежу.
    • Налаштування горизонтів запису: Керуйте тим, наскільки заздалегідь клієнт може записатися (наприклад, «тільки з наступного понеділка» або «не більше ніж на місяць вперед»).

    Функціонал реалізовано через передачу JSON-параметрів та data-атрибутів, що дозволяє розробникам кастомізувати інтерфейс бронювання під будь-які завдання бізнесу.

    Чи можна створювати власні форми на сайті?

    Так, на платформі BooStore.pro вбудовано потужний Конструктор форм. Ви можете створювати форми будь-якої складності з прив'язкою імен, ID та CSS-класів для полів. Система підтримує відправку даних на ваш сайт (в CRM та на пошту) або на будь-який сторонній сервер. Доступне гнучке налаштування типів даних, обов'язкових полів, прикріплення файлів та використання автовідповідачів для користувачів.

    Де знайти інструменти керування формами та генератор вікон?

    Всі необхідні інструменти знаходяться в наступних розділах:

    У цих розділах ви можете налаштувати не тільки візуальну частину, але й логіку обробки даних: від прив'язки до CRM до налаштування автовідповідачів.

    Чи підтримуються спливаючі (Popup) форми?

    Так, для цього передбачений спеціальний Генератор спливаючих вікон. Ви можете перетворити будь-яку кнопку або посилання на тригер для відкриття форми. Конструктор дозволяє налаштувати:

    • Розміри: ширину, висоту (включаючи автоматичне підлаштування під контент) та адаптивність для мобільних пристроїв.
    • Інтерфейс: заголовок вікна, тексти кнопок «Надіслати» та «Закрити», фіксацію шапки.
    • Поведінку: закриття при кліку на оверлей, автозаповнення полів та Callback-функції після відкриття вікна або натискання кнопок.
    Як реалізувати «Швидке замовлення» або «Зворотній дзвінок» через Popup?

    Система має попередньо встановлені функціональні пресети для спливаючих форм. Використовуючи параметр data-dialog-form_title, ви можете миттєво налаштувати форму:

    • Callback: автоматично залишає тільки поля «Ім'я» та «Телефон».
    • Quick order: приховує зайві поля (e-mail, коментар) для максимально швидкої покупки.
    • Consultation / Ask price: додає тематичні заголовки та прив'язує productid, щоб ви знали, по якому саме товару надійшла заявка.
    Чи можна передавати динамічну вартість або дані через форму?

    Так. Використовуючи поле name="form_price", ви можете передавати фінальну вартість, розраховану за допомогою JavaScript на основі вибору користувача. Для спливаючих вікон передбачені атрибути data-dialog-formprice та data-dialog-modify-text, які дозволяють «на льоту» змінювати дані заявки перед відправкою, що ідеально підходить для складних калькуляторів послуг.

    Чи можна зробити миттєву відправку форми при відкритті (Auto-submit)?

    Так, це розширена функція для підвищення конверсії. Ви можете створити поле введення (наприклад, для телефону) прямо на сторінці, а при кліку на кнопку відкриття вікна дані з цього поля автоматично перемістяться в приховану форму і вона тут же відправиться. Для цього використовуються атрибути data-dialog-form-autosubmit="1" та data-dialog-form-autosubmit-replace-class, які пов'язують поле на сторінці з полем всередині форми.

    Як приховати зайві поля в конкретному спливаючому вікні?

    Ви можете використовувати одну й ту ж форму для різних цілей, приховуючи непотрібні поля через атрибут data-dialog-form-hide-fields. У генераторі достатньо перерахувати ID або класи полів через роздільник |. Наприклад, в одному вікні ви залишаєте всі поля, а в іншому — тільки телефон, що дозволяє не плодити десятки однакових форм в адмінці.

    Чи можна налаштувати відправку сповіщень з форм у месенджери?

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

Маркетинг та Інструменти просування

    Як налаштувати різні сповіщення для різних форм?

    У розділі Форми для кожної конкретної форми можна вказати унікальні параметри сповіщень. Окрім месенджерів, ви можете налаштувати індивідуальний автовідповідач для користувача та вибрати, в який розділ внутрішньої CRM або на який Email надійде заявка. Така гнучкість дозволяє перетворити звичайні форми на повноцінну систему розподілу завдань всередині вашої команди.

    Які інструменти передбачені для запуску реклами та аналітики?

    Платформа повністю готова до професійного просування. У систему вбудовано автоматичне відстеження подій (E-commerce), яке передає дані про додавання в кошик та покупки в Google Analytics 4 та Facebook Pixel. Вам не потрібно вручну налаштовувати коди — достатньо вказати ID ваших акаунтів у налаштуваннях.

    Чи підтримує платформа мікророзмітку для пошукових систем?

    Так, на всіх сторінках товарів і категорій за замовчуванням впроваджена структурована розмітка Schema.org (JSON-LD). Це дозволяє пошуковикам формувати розширені снипети: у результатах пошуку Google будуть одразу видні ціна, наявність товару та рейтинг (відгуки), що значно підвищує клікабельність (CTR) ваших посилань.

    Чи можна створювати товарні фіди для Google Merchant Center та Facebook?

    Система генерує динамічні фіди у всіх популярних форматах: XML (YML), JSON, CSV, RSS. Це дозволяє автоматично вивантажувати товари в Google Shopping, Facebook Catalog та на будь-які зовнішні маркетплейси. Фіди оновлюються в режимі реального часу, гарантуючи актуальність цін та залишків у вашій рекламі 24/7.

    Чи є вбудовані інструменти для роботи з клієнтською базою?

    Так, платформа автоматично збирає та сегментує клієнтську базу. У систему вбудовано E-mail маркетинг, що дозволяє відправляти сповіщення та робити розсилки за накопиченими контактами. Всі дані захищені та організовані всередині вашої особистої CRM, що дозволяє вибудовувати довгострокові відносини з покупцями без оплати сторонніх сервісів.

    Які інструменти передбачені для запуску реклами та аналітики?

    Платформа повністю готова до професійного просування. У систему вбудовано автоматичне відстеження подій (E-commerce), яке передає дані про додавання в кошик та покупки в Google Analytics 4 та Facebook Pixel. Вам не потрібно вручну налаштовувати коди — достатньо вказати ID ваших акаунтів у налаштуваннях.

    Чи підтримує платформа мікророзмітку для пошукових систем?

    Так, на всіх сторінках товарів і категорій за замовчуванням впроваджена структурована розмітка Schema.org (JSON-LD). Це дозволяє пошуковикам формувати розширені снипети: у результатах пошуку Google будуть одразу видні ціна, наявність товару та рейтинг, що значно підвищує клікабельність (CTR) ваших оголошень та органічних посилань.

    Чи можна створювати товарні фіди для Google Merchant Center та Facebook?

    Система дозволяє генерувати динамічні XML/RSS фіди, які автоматично оновлюються при зміні цін або залишків. Це ідеальне рішення для запуску динамічного ремаркетингу та торгових кампаній Google Shopping, що гарантує актуальність даних у вашій рекламі 24/7.

SEO

    Чи можна створити маркетплейс або каталог постачальників?

    Так. Гнучка структура категорій і характеристик дозволяє реалізовувати не тільки магазини, але й складні маркетплейси, агрегатори послуг або каталоги компаній зі зручною фільтрацією. Для повноцінного управління асортиментом ви можете закріплювати за кожним товаром індивідуального постачальника, що спрощує облік та логістику.

    Чи підходить Boostore для SEO-спеціалістів та розробників?

    Так. Платформа надає повний доступ до редагування HTML, CSS та JavaScript, що дозволяє реалізовувати будь-які технічні рішення. Для SEO передбачений потужний інструментарій: підтримка мікророзмітки Schema.org, управління мета-тегами, редагування robots.txt, автоматична генерація sitemap.xml та інтеграція розширених аналітичних сервісів. Це робить систему ідеальним середовищем для професійного просування та кастомної розробки.

    Чи дійсно BooStore.pro дає перевагу у швидкості?

    Так. Висока продуктивність досягається за рахунок використання комбінованого кешування (на рівні файлів та оперативної пам'яті), а також сучасної архітектури оптимізації. Платформа працює на чистому Vanilla JS без важких бібліотек і використовує стратегію відкладеного завантаження скриптів, які активуються тільки при безпосередній взаємодії користувача з елементами сайту.

    Чи підходить платформа Boostore для SEO просування сайту?

    Так. Платформа спочатку спроектована під жорсткі вимоги пошукових систем. Вам доступні розширені SEO налаштування: повне управління мета-тегами, редагування robots.txt, автоматична генерація sitemap.xml, налаштування Canonical URL та 301-редиректів. Підтримується розширена мікророзмітка Schema.org для формування привабливих снипетів.

    Особлива увага приділена Core Web Vitals: завдяки серверній оптимізації, мініфікації коду та сучасним форматам зображень, сайти досягають 100 балів у Google PageSpeed Insights. Це гарантує миттєве завантаження на мобільних пристроях та дає вагому перевагу при ранжуванні в Google.

    Як керувати індексацією та файлом robots.txt?

    На платформі реалізовано повне управління індексацією без необхідності роботи через FTP. У розділі «Налаштування — SEO» ви можете безпосередньо редагувати файл robots.txt, закриваючи від роботів службові розділи або відкриваючи потрібні сторінки. Крім того, система автоматично генерує та оновлює динамічну карту сайту Sitemap.xml, сповіщаючи пошуковики про нові товари або статті.

    Як вирішується проблема дублів сторінок (Canonical)?

    Для запобігання появи дублів контенту платформа автоматично проставляє тег <link rel="canonical"> на всіх сторінках товарів, категорій та фільтрів. Це вказує пошуковим системам на пріоритетну версію сторінки, захищаючи ваш сайт від санкцій за неунікальний контент та концентруючи «посилальну вагу» на основних URL.

    Як працює SEO-перелінковка на багатомовних сайтах?

    Система повністю відповідає міжнародним стандартам SEO для мультимовності. Для кожної сторінки автоматично формуються теги rel="alternate" hreflang="x". Це гарантує правильну перелінковку між мовними версіями: Google завжди буде знати, яку версію сайту показати користувачеві залежно від його регіону та мови, що значно покращує позиції в локальній видачі різних країн.

    Чи можна керувати мета-тегами для різних мовних версій?

    Так, для кожної мови передбачені окремі поля керування Title, Description і Keywords. Ви також можете налаштовувати шаблони автоматичної генерації мета-тегів, використовуючи змінні (назва товару, ціна, категорія), що дозволяє миттєво оптимізувати тисячі сторінок на всіх підтримуваних мовах одночасно.

    Як зберегти позиції в пошуку при переїзді на вашу платформу?

    При перенесенні сайту ви можете використовувати менеджер 301-редиректів, вбудований у панель керування. Він дозволяє пов'язати старі адреси сторінок з новими, зберігаючи накопичену «вагу» в Google і не допускаючи появи помилок 404.

Про платформу

    Чи є послуга міграції сайту з іншої платформи зі збереженням SEO-позицій?

    Так, ми надаємо послугу повного перенесення сайту під ключ. Головна особливість нашого підходу — збереження накопиченого пошукового трафіку. Ми не просто переносимо контент, але й налаштовуємо карту 301-редиректів: кожна стара адреса сторінки буде коректно перенаправляти користувача та пошукового робота на новий URL на платформі BooStore.pro.

    Для міграції нам знадобиться ваш актуальний прайс у форматі CSV, XLS, XML або посилання на Google Таблицю. Послуга є платною та розраховується індивідуально залежно від обсягу даних і складності структури вашого поточного сайту.

    Boostore — це SaaS платформа чи CMS?

    Boostore поєднує можливості SaaS платформи та класичної CMS. З одного боку, це хмарна система, яка не вимагає встановлення на сервер і автоматично оновлюється. З іншого — платформа надає гнучкість CMS: ви можете редагувати HTML, CSS і JavaScript, створювати власні блоки та повністю керувати структурою сайту.

    Чи можна створити інтернет-магазин на платформі Boostore?

    Так. Платформа включає повноцінну систему ecommerce для створення інтернет-магазинів та каталогів товарів. Доступні категорії, характеристики товарів, фільтри, різновиди, кошик, оформлення замовлень, способи доставки та інтеграції платіжних систем.

    Які сайти можна створити на платформі Boostore?

    На платформі можна створювати різні типи сайтів:

    • інтернет-магазин
    • каталог товарів
    • корпоративний сайт
    • лендінг
    • блог або контент-проект
    • портал або сервісний сайт
    • сайт бронювання послуг (Універсальний інструмент для автоматизації запису на послуги, оренди ресурсів або бронювання житла)

    Гнучка архітектура платформи дозволяє масштабувати проект під будь-які завдання.

    Чи потрібно встановлювати CMS на сервер для роботи Boostore?

    Ні. Boostore працює як хмарна SaaS система. Це означає, що встановлення CMS, налаштування сервера, оновлення системи, безпека та оптимізація швидкості виконуються на стороні платформи. Користувач отримує готове середовище для створення та управління сайтом.

    Чи можна додати власний JavaScript або HTML код?

    Так. Ви можете додавати власний HTML, підключати JavaScript і використовувати користувацькі скрипти. Це дозволяє реалізовувати будь-які додаткові функції та інтеграції.

    Чи підходить платформа для великих інтернет-магазинів?

    Так. Архітектура платформи дозволяє створювати як невеликі магазини, так і великі ecommerce проекти. Підтримуються масштабування каталогу, автоматизація процесів, імпорт даних та інтеграції із зовнішніми системами.

    Наскільки швидко завантажуються сайти на платформі?

    Платформа оптимізована для високої швидкості завантаження сторінок. Використовується хмарна інфраструктура, оптимізація коду та мініфікація ресурсів. Це позитивно впливає на SEO та зручність користувачів.

    Чи є безкоштовна версія платформи?

    Так. На платформі доступне безкоштовне розміщення сайту. Ви можете створити сайт і використовувати основні функції без обмежень за часом. Безкоштовне розміщення дозволяє завантажувати до 300 товарів.

    На який термін доступне безкоштовне розміщення сайту?

    Безкоштовне розміщення на BooStore.pro є безстроковим. Однак, якщо сайт не наповнюється, не оновлюється і власник не заходив до панелі керування більше 1 року, такий проект може бути видалений як неактивний. Виняток становлять сайти з привабливим дизайном або ті, які продовжують активно використовуватися відвідувачами — вони залишаються в системі без обмежень.

    Де розміщується сайт, створений на платформі?

    Сайти розміщуються в хмарній інфраструктурі платформи. Користувачеві не потрібно купувати окремий хостинг або налаштовувати сервер — вся технічна частина вже включена в систему.

    Чи можна перенести сайт з іншої CMS?

    Так. Ви можете перенести дані сайту з іншої CMS або платформи. Товари та контент можна імпортувати через файли XLS, CSV, XML або за допомогою API інтеграцій.

    Чим Boostore відрізняється від інших конструкторів сайтів?

    На відміну від багатьох конструкторів сайтів, платформа поєднує зручність SaaS сервісу та гнучкість професійної CMS. Користувач отримує хмарну інфраструктуру, автоматизацію інтернет-магазину, розширені SEO можливості та повну кастомізацію дизайну.

    Чи можна на платформі створити сайт для інтернет-магазину?

    Так, Boostore спочатку спроектований як потужна E-commerce платформа. Вам доступні всі необхідні інструменти: управління каталогом, кошик, онлайн-оплата, розрахунок вартості доставки, система знижок і купонів. Ви можете продавати як фізичні товари, так і послуги з можливістю оплати онлайн.

    Чи підходить Boostore для стартапів і малого бізнесу?

    Так. Завдяки безкоштовному розміщенню та відсутності витрат на хостинг або покупку CMS, стартапи можуть запустити повноцінний бізнес за кілька хвилин. Готова інфраструктура дозволяє почати роботу без вкладень у розробку.

    Чим Boostore відрізняється від Wix, Shopify та інших конструкторів сайтів?

    Boostore — це потужна альтернатива популярним конструкторам, яка поєднує зручність SaaS та гнучкість професійної CMS. На відміну від Wix або Shopify, ми пропонуємо більш глибоку кастомізацію коду, відсутність жорстких обмежень у дизайні та спеціалізовані інструменти для автоматизації ecommerce. Ви отримуєте хмарну інфраструктуру та автоматичні оновлення, зберігаючи при цьому повний контроль над структурою та логікою сайту.

    Чи можна створити сайт без навичок програмування?

    Так. Більшість функцій платформи доступні через інтуїтивно зрозумілий інтерфейс та готові віджети. Ви можете самостійно зібрати структуру сайту, налаштувати унікальний дизайн і наповнити каталог товарів, не написавши жодного рядка коду. Система бере на себе всі технічні складності, дозволяючи вам зосередитися на контенті та продажах.

    Чому сайти на BooStore.pro швидші за конкурентів?

    Ми відмовилися від важких бібліотек (наприклад, jQuery) на користь Vanilla JavaScript. Це дозволяє сайтам завантажуватися миттєво та отримувати високі бали в Google Core Web Vitals. Швидке завантаження — це не тільки зручність для покупців, але й пряма перевага в ранжуванні пошуковими системами.

Бронювання та Послуги / Booking

    Чи можна розробити на Boostore індивідуальні рішення?

    Так, можна. Команда Boostore готова до співпраці та реалізації індивідуальних рішень. Для зв'язку: boostorecms@gmail.com

    Чи можна створити сайт для бронювання послуг або оренди?

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

    Ключові можливості модуля:

    • Індивідуальні календарі: створення окремих графіків для кожного спеціаліста, ресурсу або об'єкта оренди.
    • Гнучкі інтервали: налаштування тривалості сеансів, перерв між ними та обмежень за кількістю записів на один час.
    • Генератор форм: створення унікальних кнопок і віджетів запису, які можна розмістити в будь-якому місці сайту.

    Інструменти управління знаходяться в розділі: Магазин — Бронювання (або за посиланням Генератор календарів бронювання).

Продуктивність та Швидкість

    Чи можна створити професійну систему бронювання (Booking)?

    Так. Платформа Boostore включає потужний віджет бронювання, який дозволяє організувати запис на послуги або оренду будь-яких ресурсів: від столиків у ресторанах та масажних кабінетів до прокату автомобілів і запису на групові заходи.

    Ключові можливості системи бронювання:

    • Розподіл на об'єкти: За допомогою ID груп можна розділити розклад для різних майстрів, залів або одиниць техніки.
    • Гнучкі часові слоти: Ви самі задаєте крок часу (наприклад, 30 хвилин або 2 години) та максимальну тривалість одного бронювання.
    • Автоматичний розрахунок вартості: Система вміє динамічно перераховувати ціну залежно від вибраного періоду (наприклад, ціна за 1 годину * кількість годин) або використовувати фіксований тариф.
    • Розумні статуси та календар: Слоти синхронізовані зі статистикою продажів. Статуси «Попередній запис», «Заброньовано» або «Скасовано» миттєво змінюють доступність часу на сайті. Якщо слот зайнятий — повторне бронювання неможливе (крім групових подій).
    • Багатомісне бронювання: Для семінарів або групових тренувань можна вказати кількість доступних місць на один і той самий період.
    • Оплата для фіксації броні: Можна налаштувати обов'язкову передоплату. Відразу після вибору часу клієнт перенаправляється на платіжну систему, а статус броні змінюється автоматично після успішного платежу.
    • Налаштування горизонтів запису: Керуйте тим, наскільки заздалегідь клієнт може записатися (наприклад, «тільки з наступного понеділка» або «не більше ніж на місяць вперед»).

    Функціонал реалізовано через передачу JSON-параметрів та data-атрибутів, що дозволяє розробникам кастомізувати інтерфейс бронювання під будь-які завдання бізнесу.

    Наскільки швидкі сайти на платформі BooStore.pro? Чи є реальні показники?

    Платформа демонструє еталонні показники швидкості: сайти на Boostore стабільно набирають 95–100 балів у тесті Google PageSpeed Insights (Mobile та Desktop). Основний показник відтворення контенту (LCP) становить менше 1.2 секунди, що значно швидше «зеленої зони» Google (2.5 с). Це досягається за рахунок повної відмови від важких бібліотек (jQuery) на користь чистого Vanilla JavaScript.

    Чи витримає сайт наплив відвідувачів під час розпродажів або акцій?

    Архітектура BooStore.pro спроектована для роботи під високими навантаженнями. Завдяки оптимізованому ядру та ефективному кешуванню на стороні сервера, сайти на платформі легко витримують десятки тисяч одночасних сесій без втрати швидкості відгуку. Час реакції сервера (TTFB) залишається мінімальним навіть при масових зверненнях до бази даних товарів, що підтверджено успішною роботою великих інтернет-магазинів у періоди «Чорних п'ятниць».

    Як відмова від jQuery впливає на реальний досвід користувача?

    Відмова від jQuery дозволила нам скоротити обсяг передаваного JS-коду в рази. Для користувача це означає миттєву реакцію інтерфейсу на клік (показник INP менше 50 мс). Сайт не «підгальмовує» при завантаженні, меню відкриваються без затримок, а фільтрація товарів відбувається практично безшовно. Це безпосередньо знижує відсоток відмов і підвищує конверсію в покупку.

    Що означає «швидкість на рівні архітектури» в BooStore.pro?

    На відміну від звичайних CMS, де швидкість намагаються «підтягнути» плагінами, в BooStore.pro вона закладена в фундамент. Ми використовуємо показники Google PageSpeed (99–100%) як реальний індикатор якості коду. Основні рішення:

    • Мінімальний старт: при першому завантаженні віддається лише критично важливий HTML та CSS. Жодного «важкого» JavaScript, поки користувач не проявив активність.
    • Модульність: функціонал (кошик, порівняння, меню, слайдери) розділено на десятки дрібних модулів, які підвантажуються лише в момент взаємодії.
    • Нативний HTML/CSS: вкладки, акордеони та фільтри реалізовані на чистому CSS і тегах <details>, що дає миттєвий відгук без жодного рядка JS.
    Як платформа працює із зображеннями в каталозі?

    Система автоматично захищає ваш PageSpeed та трафік користувачів:

    • Авто-генерація прев'ю: для списків товарів система сама створює зменшені копії потрібного розміру. Оригінали (2000px і більше) ніколи не завантажуються в каталог.
    • Формат WebP: зображення автоматично конвертуються в сучасні формати зі збереженням чіткості при мінімальній вазі.
    • Розумний Lazy Load: картинки підвантажуються лише тоді, коли вони потрапляють у поле зору користувача при скролі.
    Чому ви відмовилися від Memcache на користь власної системи кешування?

    Memcache обмежений оперативною пам'яттю (RAM) і може «вилітати» при великих обсягах даних. В BooStore.pro реалізована файлова система повного кешування, яка не залежить від обмежень RAM. Кешується абсолютно все: HTML-блоки, меню, UI-компоненти та тексти. Оновлення відбувається точково за часовими мітками: якщо ви змінили одну ціну, перебереться лише блок цієї ціни, а не весь кеш сайту.

Інше

    У чому секрет швидкого мобільного меню?

    Мобільне меню в BooStore.pro — це інтелектуальний модуль. Воно не завантажується в браузер, якщо користувач зайшов з комп'ютера. На мобільних пристроях скрипт меню та його контент підвантажуються тільки в момент кліку по «бургеру». Це виключає зайве навантаження на процесор телефону та дозволяє сайту отримувати 100 балів у мобільному тесті Google.

    Скільки часу займає створення інтернет-магазину?

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

    Як ліміт товарів впливає на інші можливості сайту?

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

    Приклад при ліміті 1 000 товарів:

    • Контент: до 1 000 статей блогу (1 до 1).
    • Сторінки: 100 внутрішніх сторінок магазину (1 на кожні 10 товарів).
    • Інструменти: 50 конструкторів форм і 50 шаблонів листів (1 на кожні 20 товарів).
    • Команда: 20 менеджерів сайту (1 на кожні 50 товарів).

    Приклад при ліміті 10 000 товарів:

    • Контент: до 10 000 статей блогу.
    • Сторінки: 1 000 внутрішніх сторінок магазину.
    • Інструменти: 500 конструкторів форм і 500 шаблонів листів.
    • Команда: 200 менеджерів сайту.

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

    Чи можу я впроваджувати свої скрипти автоматизації та змінювати CSS/JS?

    Так, абсолютно. На відміну від закритих хмарних платформ (наприклад, Хорошоп), які жорстко обмежують доступ до коду, BooStore.pro дає вам повну свободу. Ви можете інтегрувати будь-які кастомні JS-скрипти, трекінгові пікселі, аналітику та унікальні CSS-стилі безпосередньо через зручну адмін-панель.

    При цьому архітектура BooStore автоматично компілює, мініфікує (стискає) та кешує ваші скрипти в окремі файли. Це гарантує, що кастомізація не перевантажить код сторінок, і сайт залишатиметься максимально швидким.

    Чи є обмеження на кількість товарів, замовлень або обсяг трафіку?

    Ні, жодних штрафів за зростання бізнесу. Ми не беремо відсотків з ваших продажів і не обмежуємо ваш потенціал. У комерційних тарифах BooStore.pro повністю відсутні приховані ліміти на обсяг дискового простору, кількість оброблених замовлень або трафік. Платформа спроектована для легкого масштабування та стабільно витримує величезні каталоги рівня масштабних маркетплейсів.

    Як працює вбудований генератор описів на основі характеристик?

    Це унікальна фішка автоматизації від BooStore.pro, яка економить тисячі доларів при заповненні даних інтернет-магазину. Якщо у вас великий каталог схожих товарів, вам не потрібно писати тексти вручну для кожного з них.

    Система дозволяє виконати вставку описів залежно від заповнених характеристик картки (наприклад: матеріал, колір, габарити, бренд).

Різне

    Чи можна тестувати платформу безкоштовно без обмежень за часом?

    Так, без будь-якого тиску та прив'язки банківської картки. На BooStore.pro доступний повноцінний безстроковий безкоштовний тариф ($0). Ви отримуєте базовий ліміт до 300 товарів, який можна легко розширити до 1000 товарів за звичайний репост про платформу в соцмережах.

    Наповнюйте каталог, налаштовуйте дизайн, підключайте SEO-інструменти та запускайте продажі без фінансових ризиків. Переходьте на Pro-тарифи (від $3) лише тоді, коли ваш бізнес буде готовий до масштабного розширення.

Угода користувача
Адміністрація сайту не здійснює торговельної діяльності та не несе відповідальності за якість послуг/товарів, що продаються всередині BooStore.pro. За всі розміщені товари та послуги несуть відповідальність користувачі, які їх додали.
Контакти: https://boostore.pro/ua/feedback.html

Назад