zatomant/combacart
Composer 安装命令:
composer require zatomant/combacart
包简介
Плагін для швидкого запуску інтернет магазину на Evolution CMS (EVO)
README 文档
README
За допомогою 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
Оновлення CombaCart
Варіант 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 якщо бажаете використовати капчу при перевірці оформлення замовлення
Інше
За замовчуванням, для підтримки багатомовності на сайті та в панелі керування замовленнями, використовується вбудований "перекладач". Детально про Багатомовність в шаблонах
zatomant/combacart 适用场景与选型建议
zatomant/combacart 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 18 次下载、GitHub Stars 达 3, 最近一次更新时间为 2025 年 01 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「ecommerce」 「cart」 「checkout」 「combacart」 「comba」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 zatomant/combacart 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 zatomant/combacart 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 zatomant/combacart 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Nevogate Payment Gateway SDK
Laravel 11 and above Shopping cart
Admin Hub for GetCandy. A modern headless e-commerce solution for Laravel PHP framework.
Dealing with payments through the Egyptian payment gateway PayMob
Adds a 'checkout' to a SilverStripe site which links to an Estimate and adds the ability to setup and pay
Rich payment solutions for Laravel framework. Paypal, payex, authorize.net, be2bill, omnipay, recurring paymens, instant notifications and many more
统计信息
- 总下载量: 18
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-01-01