PHPackages                             zatomant/combacart - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. zatomant/combacart

ActiveLibrary[Framework](/categories/framework)

zatomant/combacart
==================

Плагін для швидкого запуску інтернет магазину на Evolution CMS (EVO)

3181PHP

Since Sep 4Pushed 8mo ago1 watchersCompare

[ Source](https://github.com/zatomant/combacart)[ Packagist](https://packagist.org/packages/zatomant/combacart)[ RSS](/packages/zatomant-combacart/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (1)Used By (0)

Можливості
----------

[](#можливості)

За допомогою 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](https://github.com/evolution-cms/evolution/tree/1.4.x)або Evolution CMS 3.+ [Evolution CMS 3](https://github.com/evolution-cms/evolution/tree/3.2.x)

Встановлення
------------

[](#встановлення)

Для нового встановлення рекомендую використовувати пакет CombaCart extras, якій підготовлено як файл для модуля Extras в Evolution CMS.
Щоб дізнатись подробиці перейдіть на сторінку CombaCart extras [combacart-extras](https://github.com/zatomant/combacart-extras)

Оновлення CombaCart
-------------------

[](#оновлення-combacart)

**Варіант 1 - Автоматично через браузер**:
відкрийте в браузері сторінку

```
ваш_сайт/assets/plugins/combacart/update/

```

**Варііант 2 - Автоматично через консоль веб сервера**:
виконайте в консолі

```
cd _коренева_тека_вашого_сайту_/assets/plugins/combacart/update/

php process.php

```

*Варіант 1 та 2 для автоматичної роботи оновлення потребує видалення файлу блокування в теці /combacart/update/*.

**Варіант 3 - Ручне оновлення файлів**:

- завантажте крайній реліз CombaCart [github.com](https://github.com/zatomant/combacart) та перезапишіть файли в /assets/plugins/combacart
- в теці /assets/plugins/combacart виконайте **composer update** для оновлення залежностей

Файл composer.json містить перелік компонентів що використовується в CombaCart. Ви можете прибрати зайві, на ваш розсуд, залежності та модифікувати шаблони за потреби.

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

[](#налаштування)

Рекомендую задати свій "секрет" у файлі /assets/custom/Config/secret.php або у файлі .env вашого змінного середовища.
Інакше секрет сформується автоматично і його значення буде залежіть від налаштувань серверу.

**файл /src/Config/**

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

**тека /assets/custom/Config/**

- містить файли з вашими перевизначеними налаштуваннями згідно [Правила оновлення налаштувань](/docs/override_settings.md)
- наприклад, розмістить тут ваші налаштування маркетплейса та дані аутентифікації до стороніх сервисів:
    - НоваПошта (*на травень 2025 р., для трекінга відправлень Новапошта можна не застосовувати API ключ*)
    - LiqPay
    - monobank (наразі, потребує тестування callback)
    - смс провайдер AlphaSMS
    - та інші

**файл /src/Bundle/Standalone/Server.php**

- містить клас автономного локального Comba сервера для керування Замовленнями:

1. метод marketplace()

    - повертає загальні налаштування інтернет магазину
2. метод sellers()

    - повертає дані по Продавцях (публічні дані)
    - Продавці крім основних параметрів містять посилання на Отримувачів оплат
3. метод payee()

    - повертає дані Отримувачів оплат
    - Отримувачі оплат це юридичні особи або ФОПм з варіантами оплат які вони підтримують
4. метод delivery()

    - повертає перелік варіантів доставки
5. метод payment()

    - повертає перелік варіантів оплат

Перші кроки після закінчення інсталяції та налаштувань
------------------------------------------------------

[](#перші-кроки-після-закінчення-інсталяції-та-налаштувань)

1. Необов'язковий пункт, але з ним легше.
    На сторінці адміністрування CMS Evolution відкрийти `Конфігурація -> Дружні URL та відключить "Використовувати вкладені URL"`
    Використовувати вкладені URL: Ні
2. При інсталяції через Extras [combacart-extras](https://github.com/zatomant/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 містить перелік зображень, детально про [Зображення](/docs/images.md)
        - goods\_goods містить перелік видів товару (опціонально), використовує multiTV
    - сніпети:

        - CombaHeader
        - CombaFooter
        - CombaHelper
        - CombaFunctions
    - плагін CombaHelper
3. Створіть нову сторінку (документ), задайте їй шаблон goods\_tmplt.
    Це буде ваш перший товар. Код товару (артикул) має бути унікальним в контексті сторінки (документа).
    Детально [Товари](/docs/product.md)
4. Створіть сторінку з псевдонімом (alias) checkout та задайте їй шаблон checkout\_tmplt
    Це буде сторінка Оформлення замовлення. Якщо використовуєте інший псевдонім, то перевизначить 'PAGE\_CHECKOUT'
5. Опціонально: створіть сторінку з псевдонімом (alias) tnx на яку буде перенаправлено Покупця після створення замовлення. Якщо використовуєте інший псевдонім, то перевизначить 'PAGE\_TNX' У разі відсутності такої сторінки буде перехвачено та оброблено modx event 'OnPageNotFound'
6. Створіть сторінку з псевдонімом (alias) cabinet, задайте шаблон blank\_tmplt та вставте в вміст ресурсу `[!CombaFunctions? &fnct=`cabinet`!]`
    Детально [Персональний кабінет покупця](/docs/cabinet.md)
7. Опціонально: створіть сторінку з псевдонімом (alias) t - це буде сторінка відстеження замовлення. Детально [Відстеження Замовлень](/docs/tracking.md)
8. Опціонально: створіть сторінку з псевдонімом (alias) p - це буде сторінка з варіантами оплат замовлення. Детально [Оплата Замовлень](/docs/payment.md)

Обробка замовлень
-----------------

[](#обробка-замовлень)

Після того як Покупець сформував Замовлення (Кошик з товарами відправлено до обробки менеджерами Макретплейса), його можна подивитись на сторінці керування. Доступ до сторінки має будь-якій користувач з ролю 'manager' що пройшов авторизацію через адміністративну сторінку EVO (http(s)://ваш\_сайт/manager). Після авторизації, відкрийте сторінку керування замовленнями за посиланням http(s)://назва\_сайту/comba На сторінці можна:

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

Присутня можливість зміни мови та теми інтерфейсу.

Залежності та вимоги до налаштувань
-----------------------------------

[](#залежності-та-вимоги-до-налаштувань)

1. якщо отримуєте помилку Class 'IntlDateFormatter' not found
    встановіть та активуйте extension php\_intl
2. **twig** (необхідно)
    \*наявно в composer.json
    CombaCart використовує twig для шаблонів (після обробки даних парсером Modx/Evo)
3. **boostrap, bootstrap-icon** (необхідно, опціонально)
    \*наявно в composer.json
    верстка CombaCart заснована на Bootstrap 5
    якщо маєте наявну копію bootstrap змінить шляхи до вашого bootstrap в файлі snippetGoodsFooter.php
4. bootbox.js (опціонально) [bootboxjs](https://github.com/bootboxjs/bootbox)
    \*наявно в пакеті інсталяції
    для роботи з діалоговими формами bootstrap
5. phpthumb
    вирішив відмовитись від цього на користь більш активної, в плані оновлення, Intervention/image
6. Intervention\\Image (необхідно) [github](https://github.com/Intervention/image)
    \*наявно в composer.json якщо користуєтесь іншим обробником зображень ніж phpthumb змінить клас ModxImage під свої потреби.
7. multiTV (опціонально) [multiTV](https://github.com/extras-evolution/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;}`
8. cropper.js (опціонально, компонент з multiTV)
    \*наявно в пакеті інсталяції CombaCart extras Опис по налаштуванню cropper [multiTV](https://github.com/extras-evolution/multiTV)використовується разом з multiTV для списків зображень
9. venobox (опціонально) [VenoBox](https://github.com/nicolafranchini/VenoBox)
    \*наявно в пакеті інсталяції
    використовується для роботи з діалоговими формами зображень
10. reCaptcha (опціонально)
    внесіть свої ключі для провайдера 'reCaptcha' у файл перевизначень /assets/custom/Config/provider.php якщо бажаете використовати капчу при перевірці оформлення замовлення

Інше
----

[](#інше)

За замовчуванням, для підтримки багатомовності на сайті та в панелі керування замовленнями, використовується вбудований "перекладач". Детально про [Багатомовність в шаблонах](/docs/template.md)

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance43

Moderate activity, may be stable

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity13

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/abfc1bcf049d3a97593f7313b190a64cf5092dce3d33e9644f79bb553abb5999?d=identicon)[zatomant](/maintainers/zatomant)

---

Top Contributors

[![zatomant](https://avatars.githubusercontent.com/u/25015123?v=4)](https://github.com/zatomant "zatomant (15 commits)")

---

Tags

evolution

### Embed Badge

![Health badge](/badges/zatomant-combacart/health.svg)

```
[![Health](https://phpackages.com/badges/zatomant-combacart/health.svg)](https://phpackages.com/packages/zatomant-combacart)
```

###  Alternatives

[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
