3brs/sylius-payment-restrictions-plugin
最新稳定版本:v3.0.0
Composer 安装命令:
composer require 3brs/sylius-payment-restrictions-plugin
包简介
Payment restriction plugin for Sylius
README 文档
README
Payment Restrictions Plugin
Features
- Restrict payment method by zone. This enables to limit selected payment methods to specific zones or areas from the delivery address.
- Restrict payment method by shipping method - this means that it can disable specific shipment-payment combinations.
Installation
-
Run
$ composer require 3brs/sylius-payment-restrictions-plugin -
Add plugin class to your
config/bundles.phpreturn [ ... ThreeBRS\SyliusPaymentRestrictionPlugin\ThreeBRSSyliusPaymentRestrictionPlugin::class => ['all' => true], ];
-
Your Entity
PaymentMethodhas to implement\ThreeBRS\SyliusPaymentRestrictionPlugin\Model\PaymentMethodRestrictionInterface. You can use TraitThreeBRS\SyliusPaymentRestrictionPlugin\Model\PaymentMethodRestrictionTrait<?php declare(strict_types=1); namespace Tests\ThreeBRS\SyliusPaymentRestrictionPlugin\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Sylius\Component\Core\Model\PaymentMethod as BasePaymentMethod; use ThreeBRS\SyliusPaymentRestrictionPlugin\Model\PaymentMethodRestrictionInterface; use ThreeBRS\SyliusPaymentRestrictionPlugin\Model\PaymentMethodRestrictionTrait; #[ORM\Entity] #[ORM\Table(name: 'sylius_payment_method')] class PaymentMethod extends BasePaymentMethod implements PaymentMethodRestrictionInterface { use PaymentMethodRestrictionTrait; public function __construct() { parent::__construct(); $this->shippingMethods = new ArrayCollection(); } }
-
Create and run doctrine database migrations
bin/console doctrine:migrations:diff bin/console doctrine:migrations:migrate
- how to use your own entity see Sylius docs - Customizing Models
Development
Usage
- Alter plugin in
/src - See
bin/dir for useful commands
Testing
After your changes you must ensure that the tests are still passing.
composer install bin/console doctrine:database:create --if-not-exists --env=test bin/console doctrine:schema:update --complete --force --env=test yarn --cwd tests/Application install yarn --cwd tests/Application build bin/behat bin/phpstan.sh bin/ecs.sh vendor/bin/phpspec run
Opening Sylius with your plugin
- Install symfony CLI command: https://symfony.com/download
- hint: for Docker (with Ubuntu) use Debian/Ubuntu — APT based
Linux installation steps as
rootuser and withoutsudocommand- you may need to install
curlfirstapt-get update && apt-get install curl --yes
- you may need to install
- hint: for Docker (with Ubuntu) use Debian/Ubuntu — APT based
Linux installation steps as
- Run app
(cd tests/Application && APP_ENV=test bin/console sylius:fixtures:load) (cd tests/Application && APP_ENV=test symfony server:start --dir=public --port=8080)
- change
APP_ENVtodevif you need it
License
This library is under the MIT license.
Credits
统计信息
- 总下载量: 12.41k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-07-23
