За допомогою CombaCart можна створити повноцінний інтернет-магазин чи маркетплейс (декілька Продавців на одному сайті) на базі EVO 1.4+ чи Evolution CMS 3.+, та керувати Замовленями покупців.
Важливо: для редагування розширених властивостей товарів використовуйте окремі плагіни чи модулі (multiTV та подібні)
Для Покупця:
- перегляд, додавання та редагування Товарів у Кошику, та подальше оформлення Кошика в Замовлення покупця
- сторінка Відстеження та Оплата замовлення
- трекінг відправлень Новапошта
- QR код з реквізитами оплати
- онлайн оплата через LiqPay або monobank
- перегляд історії Замовлень (персональний кабінет). Реєстрацію та авторизацію користувача робіть засобами Evolution CMS або через спеціалізований плагін, наприклад HybridAuth.
- підтримка багатомовності: Українська, Англійська.
Для Менеджера:
- керування Замовленнями покупців на окремій сторінці, за замовчуванням //ваш_сайт/comba
- перегляд, редагування, зміна статусів обробки та друк Замовлення
- відправлення текстових повідомлень через пошту, смс, текст для месенджерів.
Для Адміністратора:
- автоматичне прибирання Товару з Кошиків, якщо з товару знято Доступний для замовлення (редагування сторінки Товару в адмінці (evo))
- для кожного товару можна задати свого Продавця
- Продавець це окрема юридична особа або ФОП зі своїми налаштуваннями.
- при оформленні Кошика автоматично сформуються декілька Замовлень якщо Товари у кошику від різних Продавців (опціонально)
- якщо Покупець зробив оплату на сайті, буде оброблено callback від платіжного сервісу, та змінено статус замовлення на "Сповіщенно про оплату"
PHP 7.4 та вище
Composer
EVO CMS 1.4+ Evolution CMS 1.4 або Evolution CMS 3.+ Evolution CMS 3
Для нового встановлення рекомендую використовувати пакет CombaCart extras, якій підготовлено як файл для модуля Extras в Evolution CMS.
Щоб дізнатись подробиці перейдіть на сторінку CombaCart extras combacart-extras
Варіант 1 - Автоматично через браузер:
відкрийте в браузері сторінку
ваш_сайт/assets/plugins/combacart/update/
Варііант 2 - Автоматично через консоль веб сервера:
виконайте в консолі
cd _коренева_тека_вашого_сайту_/assets/plugins/combacart/update/
php process.php
Варіант 1 та 2 для автоматичної роботи оновлення потребує видалення файлу блокування в теці /combacart/update/.
Варіант 3 - Ручне оновлення файлів:
- завантажте крайній реліз CombaCart github.com та перезапишіть файли в /assets/plugins/combacart
- в теці /assets/plugins/combacart виконайте composer update для оновлення залежностей
Файл composer.json містить перелік компонентів що використовується в CombaCart. Ви можете прибрати зайві, на ваш розсуд, залежності та модифікувати шаблони за потреби.
Рекомендую задати свій "секрет" у файлі /assets/custom/Config/secret.php або у файлі .env вашого змінного середовища.
Інакше секрет сформується автоматично і його значення буде залежіть від налаштувань серверу.
файл /src/Config/
- містить налаштування маркетплейсу за замовчуванням. не змінюйте в цій теці нічого.
тека /assets/custom/Config/
- містить файли з вашими перевизначеними налаштуваннями згідно Правила оновлення налаштувань
- наприклад, розмістить тут ваші налаштування маркетплейса та дані аутентифікації до стороніх сервисів:
- НоваПошта (на травень 2025 р., для трекінга відправлень Новапошта можна не застосовувати API ключ)
- LiqPay
- monobank (наразі, потребує тестування callback)
- смс провайдер AlphaSMS
- та інші
файл /src/Bundle/Standalone/Server.php
- містить клас автономного локального Comba сервера для керування Замовленнями:
-
метод marketplace()
- повертає загальні налаштування інтернет магазину
-
метод sellers()
- повертає дані по Продавцях (публічні дані)
- Продавці крім основних параметрів містять посилання на Отримувачів оплат
-
метод payee()
- повертає дані Отримувачів оплат
- Отримувачі оплат це юридичні особи або ФОПм з варіантами оплат які вони підтримують
-
метод delivery()
- повертає перелік варіантів доставки
-
метод payment()
- повертає перелік варіантів оплат
-
Необов'язковий пункт, але з ним легше.
На сторінці адміністрування CMS Evolution відкрийтиКонфігурація -> Дружні URL та відключить "Використовувати вкладені URL"
Використовувати вкладені URL: Ні -
При інсталяції через Extras combacart-extras будуть автоматично створені необхідні елементи (інакше доведеться створити це вручну), а саме :
-
шаблон для Сторінки товару goods_tmplt
-
шаблон для сторінки Оформлення замовлення checkout_tmplt
-
шаблон для інших сторінок blank_tmplt
-
tv
- goods_avail ознака чи доступний товар до замовлення
- goods_code актикул товару (sku)
- goods_price ціна товару
- goods_price_old стара ціна товару
- goods_weight вага товару
- goods_isnewproduct ознака "новий товар"
- goods_isondemand ознака "товар під замовлення"
- goods_seller Продавець товару
- goods_inbalances ознака залежності товару від залишків
- goods_images містить перелік зображень, детально про Зображення
- goods_goods містить перелік видів товару (опціонально), використовує multiTV
-
сніпети:
- CombaHeader
- CombaFooter
- CombaHelper
- CombaFunctions
-
плагін CombaHelper
-
-
Створіть нову сторінку (документ), задайте їй шаблон goods_tmplt.
Це буде ваш перший товар. Код товару (артикул) має бути унікальним в контексті сторінки (документа).
Детально Товари -
Створіть сторінку з псевдонімом (alias) checkout та задайте їй шаблон checkout_tmplt
Це буде сторінка Оформлення замовлення. Якщо використовуєте інший псевдонім, то перевизначить 'PAGE_CHECKOUT' -
Опціонально: створіть сторінку з псевдонімом (alias) tnx на яку буде перенаправлено Покупця після створення замовлення. Якщо використовуєте інший псевдонім, то перевизначить 'PAGE_TNX' У разі відсутності такої сторінки буде перехвачено та оброблено modx event 'OnPageNotFound'
-
Створіть сторінку з псевдонімом (alias) cabinet, задайте шаблон blank_tmplt та вставте в вміст ресурсу
[!CombaFunctions? &fnct=`cabinet`!]
Детально Персональний кабінет покупця -
Опціонально: створіть сторінку з псевдонімом (alias) t - це буде сторінка відстеження замовлення. Детально Відстеження Замовлень
-
Опціонально: створіть сторінку з псевдонімом (alias) p - це буде сторінка з варіантами оплат замовлення. Детально Оплата Замовлень
Після того як Покупець сформував Замовлення (Кошик з товарами відправлено до обробки менеджерами Макретплейса), його можна подивитись на сторінці керування. Доступ до сторінки має будь-якій користувач з ролю 'manager' що пройшов авторизацію через адміністративну сторінку EVO (http(s)://ваш_сайт/manager). Після авторизації, відкрийте сторінку керування замовленнями за посиланням http(s)://назва_сайту/comba На сторінці можна:
- передивлятись перелік замовлень за будь-який час
- вести пошук замовлень за номером, Замовником та його електронною поштою
- редагувати замовлення
- друкувати замовлення
- надсилати електронні листи, смс повідомлення та формувати тексти для подальшого використання в месенджерах.
Присутня можливість зміни мови та теми інтерфейсу.
-
якщо отримуєте помилку Class 'IntlDateFormatter' not found
встановіть та активуйте extension php_intl -
twig (необхідно) https://twig.symfony.com/
*наявно в composer.json
CombaCart використовує twig для шаблонів (після обробки даних парсером Modx/Evo) -
boostrap, bootstrap-icon (необхідно, опціонально) https://getbootstrap.com/
*наявно в composer.json
верстка CombaCart заснована на Bootstrap 5
якщо маєте наявну копію bootstrap змінить шляхи до вашого bootstrap в файлі snippetGoodsFooter.php -
bootbox.js (опціонально) bootboxjs
*наявно в пакеті інсталяції
для роботи з діалоговими формами bootstrap -
phpthumb
вирішив відмовитись від цього на користь більш активної, в плані оновлення, Intervention/image -
Intervention\Image (необхідно) github
*наявно в composer.json якщо користуєтесь іншим обробником зображень ніж phpthumb змінить клас ModxImage під свої потреби. -
multiTV (опціонально) multiTV
*встановлюється з extras- використовується для списків зображень в TV goods_images. замість списків можете використовувати TV goods_images як "строка" для одного зображення
- використовується для списків підвидів товару в TV goods_goods
Щоб виправити помилку з розташуванням вікна редагування властивостей зображення після встановлення multiTV
замініть у файлі assets/tvs/multitv/css/colorbox.css рядок 5
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z1-index:9999; overflow:hidden;}на цей
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; overflow:hidden;} -
cropper.js (опціонально, компонент з multiTV)
*наявно в пакеті інсталяції CombaCart extras Опис по налаштуванню cropper multiTV використовується разом з multiTV для списків зображень -
venobox (опціонально) VenoBox
*наявно в пакеті інсталяції
використовується для роботи з діалоговими формами зображень -
reCaptcha (опціонально)
внесіть свої ключі для провайдера 'reCaptcha' у файл перевизначень /assets/custom/Config/provider.php якщо бажаете використовати капчу при перевірці оформлення замовлення
За замовчуванням, для підтримки багатомовності на сайті та в панелі керування замовленнями, використовується вбудований "перекладач". Детально про Багатомовність в шаблонах