PHPackages                             ddaproduction/evocms-commerce-coupons - 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. ddaproduction/evocms-commerce-coupons

ActiveLibrary

ddaproduction/evocms-commerce-coupons
=====================================

Coupons module for commerce

1504JavaScript

Since Oct 12Pushed 4y ago2 watchersCompare

[ Source](https://github.com/DDAProduction/evocms-commerce-coupons)[ Packagist](https://packagist.org/packages/ddaproduction/evocms-commerce-coupons)[ RSS](/packages/ddaproduction-evocms-commerce-coupons/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

EvocmsCommerceCoupons
=====================

[](#evocmscommercecoupons)

Пакет для создания и использования купоны для модуля Commerce, во много вдохновлен дополнением webber12/CommerceCoupons

Установка
---------

[](#установка)

1. php artisan package:installrequire ddaproduction/evocms-commerce-coupons "\*"
2. php artisan vendor:publish --provider="EvolutionCMS\\EvocmsCommerceCoupons\\EvocmsCommerceCouponsServiceProvider"
3. php artisan migrate
4. В форму заказа добавить блок для добавления купона `@include('CommerceCoupons::form')`

Возможности
-----------

[](#возможности)

- Автогенерация купонов
- Ручное создание купонов
- Ограничение периода действия и пользователей которые могут использовать купон
- Активные и неактивные купоны
- Лимит использований (если поставить 0, будет безлимитный)

Работа с переводами
-------------------

[](#работа-с-переводами)

Создаем файл в соотвествующей языковой папке и можем переопределить необходимые нам значения (core/lang/vendor/CommerceCoupons/ru/main.php).

Расчитываем скидку
------------------

[](#расчитываем-скидку)

```
В плагин OnCollectSubtotals добавляем следующий код:

```

```
Event::listen('evolution.OnCollectSubtotals', function ($params) use ($deliveries) {
   ...
    if(isset($_SESSION['CommerceCoupon'])){

        $coupon = $_SESSION['CommerceCoupon'];
        $discountValue = floatval($coupon['discount_value']);

        // если скидка задана числом
        if($coupon['discount_type'] == 'amount'){
            $discount = $discountValue;
        }

        //если скидка задана в процентах
        elseif($coupon['discount_type'] == 'percent'){
            $discount =  round(($params['total']) * $discountValue / 100);
        }

        // пересчитываем результат с учетом скидки
        $params['total'] -= $discount;

        // фомируем массив с данными необходимыми нам для отображения
        $params['rows']['coupons'] = [
            'main_title' => \Lang::get('CommerceCoupons::main.subtotal_title',['coupon'=>$coupon['coupon']]),
            'price' => -$discount
        ];

    }
    ...
})

```

```
    В зависимости от того что должна включать в себя скидка, вы вставляеете этот код или до, или после того как вы посчитаете свои subtotals (доставку например). То есть вы можете посчитать все что вам необходимо без учета скидки разместив этот код в начале плагина, или же наоборот, посчитать скидку в самом конце и тогда она будет включать в себя все что вы добавити в subtotals (включая например доставку).

```

Ограничения
-----------

[](#ограничения)

- требуется версия MySQL &gt;=5.6
- требуется версия php &gt;=7.4

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

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/9a722445bb0bad50ab37fec12236f407434df04d5b7b9051bdb26336758e209e?d=identicon)[dmi3yy](/maintainers/dmi3yy)

---

Top Contributors

[![dedli8](https://avatars.githubusercontent.com/u/29150121?v=4)](https://github.com/dedli8 "dedli8 (9 commits)")[![dzhuryn](https://avatars.githubusercontent.com/u/17830927?v=4)](https://github.com/dzhuryn "dzhuryn (7 commits)")[![Dmi3yy](https://avatars.githubusercontent.com/u/669491?v=4)](https://github.com/Dmi3yy "Dmi3yy (2 commits)")[![mnoskov](https://avatars.githubusercontent.com/u/8789957?v=4)](https://github.com/mnoskov "mnoskov (2 commits)")

### Embed Badge

![Health badge](/badges/ddaproduction-evocms-commerce-coupons/health.svg)

```
[![Health](https://phpackages.com/badges/ddaproduction-evocms-commerce-coupons/health.svg)](https://phpackages.com/packages/ddaproduction-evocms-commerce-coupons)
```

PHPackages © 2026

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