mangoweb-sylius / sylius-payment-restrictions-plugin
v1.0.0
2020-06-17 10:09 UTC
Requires
- php: ^7.3
- sylius/sylius: ^1.7.0
Requires (Dev)
- behat/behat: ^3.4
- behat/mink: ^1.7@dev
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.2
- behat/mink-selenium2-driver: ^1.3
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.0
- friends-of-behat/variadic-extension: ^1.1
- lakion/mink-debug-extension: ^1.2.3
- phpspec/phpspec: ^6.0
- phpstan/phpstan: ^0.12.0
- phpstan/phpstan-doctrine: ^0.12.0
- phpstan/phpstan-strict-rules: ^0.12.0
- phpstan/phpstan-symfony: ^0.12.4
- phpstan/phpstan-webmozart-assert: ^0.12.0
- phpunit/phpunit: ^8.0
- sensiolabs/security-checker: ^6.0
- sylius-labs/coding-standard: ^3.1
- symfony/browser-kit: ^4.4
- symfony/debug-bundle: ^4.4
- symfony/dotenv: ^4.4
- symfony/intl: ^4.4
- symfony/web-profiler-bundle: ^4.4
- symfony/web-server-bundle: ^4.4
Conflicts
- symfony/browser-kit: 4.1.8
- symfony/dependency-injection: 4.1.8
- symfony/dom-crawler: 4.1.8
- symfony/routing: 4.1.8
- symfony/symfony: 4.1.8
This package is auto-updated.
Last update: 2021-11-09 09:11:32 UTC
README
支付限制插件
功能
- 根据区域限制支付方式。这可以限制选择的支付方式仅适用于特定区域或送货地址。
- 根据配送方式限制支付方式 - 这意味着可以禁用特定的配送-支付组合。
安装
-
运行
$ composer require mangoweb-sylius/sylius-payment-restrictions-plugin
。 -
将插件类添加到您的
config/bundles.php
。return [ ... MangoSylius\PaymentRestrictionPlugin\MangoSyliusPaymentRestrictionPlugin::class => ['all' => true], ];
-
您的实体
PaymentMethod
必须实现\MangoSylius\PaymentRestrictionPlugin\Model\PaymentMethodRestrictionInterface
。您可以使用特性MangoSylius\PaymentRestrictionPlugin\Model\PaymentMethodRestrictionTrait
。<?php declare(strict_types=1); namespace App\Entity\Payment; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Sylius\Component\Core\Model\Payment as BasePayment; use MangoSylius\PaymentRestrictionPlugin\Model\PaymentMethodRestrictionInterface; use MangoSylius\PaymentRestrictionPlugin\Model\PaymentMethodRestrictionTrait; /** * @ORM\Entity * @ORM\Table(name="sylius_payment") */ class PaymentMethod extends BasePayment implements PaymentMethodRestrictionInterface { use PaymentMethodRestrictionTrait; public function __construct() { parent::__construct(); $this->shippingMethods = new ArrayCollection(); } }
-
修改
@SyliusAdmin/PaymentMethod/_form.html.twig
。... <div class="ui segment"> <h4 class="ui dividing header">{{ 'sylius.ui.details'|trans }}</h4> {{ form_errors(form) }} <div class="three fields"> {{ form_row(form.code) }} {{ form_row(form.zone) }} {{ form_row(form.position) }} </div> {{ form_row(form.enabled) }} <div class="two fields"> {{ form_row(form.channels) }} {{ form_row(form.shippingMethods) }} </div> </div> ...
-
创建并运行Doctrine数据库迁移。
有关使用自定义实体的指南,请参阅Sylius文档 - 自定义模型
开发
使用
- 在
/src
中开发您的插件 - 查看
bin/
以获取有用的命令
测试
在您的更改之后,您必须确保测试仍然通过。
$ composer install
$ bin/console doctrine:schema:create -e test
$ bin/behat
$ bin/phpstan.sh
$ bin/ecs.sh
许可
此库在MIT许可下。
致谢
由manGoweb开发。