Download the PHP package uranum/yii2-delivery-calculator without Composer
On this page you can find all versions of the php package uranum/yii2-delivery-calculator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download uranum/yii2-delivery-calculator
More information about uranum/yii2-delivery-calculator
Files in uranum/yii2-delivery-calculator
Package yii2-delivery-calculator
Short Description Yii2 extension help to get the result of the calculating from the aggregated delivery services
License MIT
Informations about the package yii2-delivery-calculator
Yii2-delivery-calculator
Yii2 extension help to get the result of the calculating from the aggregated delivery services
Under the development...
Installation
The preferred way to install this extension is through composer.
Either run
or add
to the require section of your composer.json
file.
Configure module
Миграции (для создания модуля доставок в админке)
Примените миграцию yii migrate --migrationPath=@uranum/delivery/migration
ОБЯЗАТЕЛЬНО! Задать сервисы доставки
Задать параметры для postcalc
Example of use
Result is
В папке src/services имеются образцы, которые наследуются от YiiModuleDelivery. Можно создать собственный класс, также его отнаследовать от YiiModuleDelivery и реализовать метод calculate() со своей логикой расчета (или получение данных расчета по api).
Создание новой службы доставки
- создать миграцию, добавляющую новую доставку (см. пример в папке migration - InitialDeliveryServices)
- создать класс NewDeliveryService, отнаследовавшись от YiiModuleDelivery, который вернет массив расчитанных данных (см. примеры в папке services)
- если требуется специальный расчет (например, через API), то создать класс NewDeliveryCalc, который должен вернуть результат расчета
- добавить в файл конфигурации, в раздел components, созданную доставку:
Создание своего контроллера
Если нужно установить свои права доступа к контроллеру доставок сделайте следующее:
- создайте в админке свой контроллер, отнаследовавшись от \uranum\delivery\module\controllers\DeliveryController
- в этом контроллере создайте свои фильтры и поведения (access, verbs)
- создайте свои виды (index, create, update) или
- рендерьте виды из расширения добавив метод init() с таким кодом: