PHPackages                             sakhlab/yii2-order - 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. sakhlab/yii2-order

ActiveYii2-extension

sakhlab/yii2-order
==================

yii2-order it's a module for site cart order

02PHP

Since Mar 13Pushed 9y ago1 watchersCompare

[ Source](https://github.com/sakhlab/yii2-order)[ Packagist](https://packagist.org/packages/sakhlab/yii2-order)[ RSS](/packages/sakhlab-yii2-order/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Yii2-order
==========

[](#yii2-order)

Это модуль для реализации функцинала заказа на сайте. Сейчас в заказ попадают элементы корзины, советую в качестве сервиса корзины использовать модуль [pistol88/yii2-cart](https://github.com/pistol88/yii2-cart).

Функционал:

- Добавление заказа, просмотр и управление заказами в админке
- Управление полями заказа в админке
- Управление способами доставки и оплаты в админке

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

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

Выполнить команду

```
php composer require pistol88/yii2-order "*"

```

Или добавить в composer.json

```
"pistol88/yii2-order": "*",

```

И выполнить

```
php composer update

```

Далее, мигрируем базу:

```
php yii migrate --migrationPath=vendor/pistol88/yii2-order/migrations

```

Далее, связываем модуль с корзиной. Устанавливаем [pistol88/yii2-cart](https://github.com/pistol88/yii2-cart) и добавляем в начало конфига вашего приложения:

```
yii::$container->set('pistol88\order\interfaces\Cart', 'pistol88\order\drivers\Pistol88Cart');

```

Чтобы связать модуль с другой корзиной:

```
yii::$container->set('pistol88\order\interfaces\Cart', 'app\objects\Cart');

```

app\\objects\\Cart должен содержать класс, имплементирующий \\pistol88\\order\\interfaces\\Cart.

Подключение и настройка
-----------------------

[](#подключение-и-настройка)

В конфигурационный файл приложения добавить модуль order

```
    'modules' => [
        'order' => [
            'class' => 'pistol88\order\Module',
            'layoutPath' => 'frontend\views\layouts',
            'successUrl' => '/page/thanks', //Страница, куда попадает пользователь после успешного заказа
            'ordersEmail' => 'test@yandex.ru', //Мыло для отправки заказов
        ],
        //...
    ]
```

Все настройки модуля:

- orderStatuses - статусы (по умолчанию: 'new' =&gt; 'Новый', 'approve' =&gt; 'Подтвержден', 'cancel' =&gt; 'Отменен', 'process' =&gt; 'В обработке', 'done' =&gt; 'Выполнен')
- defaultStatus - статус нового заказа (по умолчанию 'new')
- successUrl - урл, куда будет перенаправлен покупатель в случае успешной покупки (по умолчанию /order/info/thanks/)
- ordersEmail - почта администратора, туда уходят письма с заказами
- robotEmail - e-mail робота (по умолчанию no-reply@localhost)
- robotName - имя почтового робота (по умолчанию Robot)
- orderColumns - массмв полей для вывода. Кастомные поля добавляются как массив, содержащий ID и наименование поля: \['field' =&gt; 2, 'label' =&gt; 'Автомобиль'\]
- dateFormat - формат даты (по умолчанию d.m.Y H:i:s)
- cartService - имя компонента, в которой реализована корзина (по умолчанию cart). Интерфейс смотреть в pistol88/yii2-cart.
- currency - валюта, по умолчанию рубли
- currencyPosition - позиция значка валюты относительно цены (before или after)
- priceFormat - формат цены (по умолчанию \[2, '.', ''\])
- adminRoles - список ролей, которые имеют доступ в CRUD заказа (по умолчанию \['admin', 'superadmin'\])

Сервисы
-------

[](#сервисы)

Модуль автоматически инжектит в yii2 (в Service locator) компонент order (сервис), который доступен глобально через yii::$app-&gt;order и предоставляет следующие сервисы:

- get($id) - получить заказ по ID
- getStatInMoth($month) - получить статистику заказов за месяц
- getStatByDate($date) - получить статичтику заказов за день
- getStatByDatePeriod($dateStart, $dateStop) - получить статистику заказов за период
- getStatByModelAndDatePeriod($model, $dateStart, $dateStop) - получить статистику заказов определенной модели за период

Виджеты
-------

[](#виджеты)

За вывод формы заказа отвечает виджет pistol88\\order\\widgets\\OrderForm

```

```

Кнопка "заказ в один клик" - pistol88\\order\\widgets\\OneClick:

```

```

Триггеры
--------

[](#триггеры)

В Module:

- create - создание заказа
- delete\_order - удаление заказа
- delete\_element - удаление элемента заказа

Пример использования через конфиг:

```
    'order' => [
        'class' => 'pistol88\order\Module',
        'on create' => function($event) {
            send_sms(...); //Отправляем СМС оповещение
        },
    ],
```

Онлайн оплата
-------------

[](#онлайн-оплата)

Чтобы добавить способ оплаты, перейдите в ?r=/order/payment-type/index, добавьте новый способ, где в поле "Виджет" укажите класс виджета, который будет отдавать форму оплаты. Виджеты оплаты устанавливаются отдельно.

- Paymaster.ru: [pistol88/yii2-paymaster](https://github.com/pistol88/yii2-paymaster)
- Liqpay: [pistol88/yii2-liqpay](https://github.com/pistol88/yii2-liqpay)
- Сбербанк: [pistol88/yii2-sberbank-payment](https://github.com/pistol88/yii2-sberbank-payment)

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 83% 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/38f4b6b7a75fc2c51891ec63b86cd686caef8a5291595a3a87ce9d4592c57c5e?d=identicon)[merdoc](/maintainers/merdoc)

---

Top Contributors

[![pistol88](https://avatars.githubusercontent.com/u/8104605?v=4)](https://github.com/pistol88 "pistol88 (171 commits)")[![halumein](https://avatars.githubusercontent.com/u/5361342?v=4)](https://github.com/halumein "halumein (23 commits)")[![mazurva](https://avatars.githubusercontent.com/u/1152567?v=4)](https://github.com/mazurva "mazurva (3 commits)")[![yakovlev-vladimir](https://avatars.githubusercontent.com/u/689802?v=4)](https://github.com/yakovlev-vladimir "yakovlev-vladimir (2 commits)")[![PROloggg](https://avatars.githubusercontent.com/u/25814457?v=4)](https://github.com/PROloggg "PROloggg (2 commits)")[![AlChilyakov](https://avatars.githubusercontent.com/u/18215959?v=4)](https://github.com/AlChilyakov "AlChilyakov (2 commits)")[![usesgraphcrt](https://avatars.githubusercontent.com/u/17561572?v=4)](https://github.com/usesgraphcrt "usesgraphcrt (2 commits)")[![slam-mt](https://avatars.githubusercontent.com/u/20283374?v=4)](https://github.com/slam-mt "slam-mt (1 commits)")

### Embed Badge

![Health badge](/badges/sakhlab-yii2-order/health.svg)

```
[![Health](https://phpackages.com/badges/sakhlab-yii2-order/health.svg)](https://phpackages.com/packages/sakhlab-yii2-order)
```

PHPackages © 2026

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