monsieurbiz / sylius-shipping-slot-plugin
一个Sylius插件,允许您选择配送日期和时间。
v1.1.4
2024-07-30 08:38 UTC
Requires
- php: ~7.4|~8.0
- gedmo/doctrine-extensions: ^2.4.12 || ^3.0
- simshaun/recurr: ^4.0
- sylius/sylius: >=1.9 <1.13
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.4
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- doctrine/data-fixtures: ^1.4
- ergebnis/composer-normalize: ^2.5
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-extension: ^2.4
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/symfony-extension: ^2.1
- friends-of-behat/variadic-extension: ^1.3
- hwi/oauth-bundle: ^1.1
- lchrusciel/api-test-case: ^5.0
- matthiasnoback/symfony-config-test: ^4.2
- matthiasnoback/symfony-dependency-injection-test: ^4.1
- mikey179/vfsstream: ^1.6
- mockery/mockery: ^1.4
- pamil/prophecy-common: ^0.1
- phpmd/phpmd: @stable
- phpspec/phpspec: ^6.1 || ^7.2
- phpstan/phpstan: ^0.12.57
- phpstan/phpstan-doctrine: ^0.12.19
- phpstan/phpstan-webmozart-assert: ^0.12.7
- phpunit/phpunit: ^8.5
- psalm/plugin-mockery: ^0.3
- psr/event-dispatcher: ^1.0
- sylius-labs/coding-standard: ^3.1
- symfony/browser-kit: ^4.4
- symfony/debug-bundle: ^4.4
- symfony/dotenv: ^4.4
- symfony/flex: ^1.7
- symfony/web-profiler-bundle: ^4.4
This package is auto-updated.
Last update: 2024-08-30 08:54:08 UTC
README
配送时间槽
此插件允许您选择配送日期和时间。
安装
使用composer
安装插件
composer require monsieurbiz/sylius-shipping-slot-plugin
如果您使用Symfony Flex,食谱将自动执行一些操作。
对于没有Flex的安装,请按照以下额外步骤操作
1. 将插件添加到您的`config/bundles.php`文件
return [ // ... MonsieurBiz\SyliusShippingSlotPlugin\MonsieurBizSyliusShippingSlotPlugin::class => ['all' => true], ];
- 通过创建一个新文件
config/packages/monsieurbiz_sylius_shipping_slot_plugin.yaml
并包含以下内容来导入插件的配置
imports: - { resource: "@MonsieurBizSyliusShippingSlotPlugin/Resources/config/config.yaml" }
- 通过创建一个新文件
config/routes/monsieurbiz_sylius_shipping_slot_plugin.yaml
并包含以下内容来导入插件的路由
monsieurbiz_sylius_shipping_slot_plugin: resource: "@MonsieurBizSyliusShippingSlotPlugin/Resources/config/routing.yaml"
- 将插件中的覆盖模板复制到您的
templates
目录
mkdir -p templates/bundles/; cp -Rv vendor/monsieurbiz/sylius-shipping-slot-plugin/src/Resources/views/SyliusShopBundle templates/bundles/
之后,按照以下步骤操作
- 您的`Order`实体应该实现`MonsieurBiz\SyliusShippingSlotPlugin\Entity\OrderInterface`并使用`MonsieurBiz\SyliusShippingSlotPlugin\Entity\OrderTrait`特性
namespace App\Entity\Order; use Doctrine\ORM\Mapping as ORM; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\OrderInterface as MonsieurBizOrderInterface; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\OrderTrait; use Sylius\Component\Core\Model\Order as BaseOrder; /** * @ORM\Entity * @ORM\Table(name="sylius_order") */ #[ORM\Entity] #[ORM\Table(name: 'sylius_order')] -class Order extends BaseOrder +class Order extends BaseOrder implements MonsieurBizOrderInterface { + use OrderTrait; }
- 您的`ProductVariant`实体应该实现`MonsieurBiz\SyliusShippingSlotPlugin\Entity\ProductVariantInterface`并使用`MonsieurBiz\SyliusShippingSlotPlugin\Entity\ProductVariantTrait`特性
namespace App\Entity\Product; use Doctrine\ORM\Mapping as ORM; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ProductVariantInterface as MonsieurBizProductVariantInterface; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ProductVariantTrait; use Sylius\Component\Core\Model\ProductVariant as BaseProductVariant; use Sylius\Component\Product\Model\ProductVariantTranslationInterface; /** * @ORM\Entity * @ORM\Table(name="sylius_product_variant") */ #[ORM\Entity] #[ORM\Table(name: 'sylius_product_variant')] -class ProductVariant extends BaseProductVariant +class ProductVariant extends BaseProductVariant implements MonsieurBizProductVariantInterface { + use ProductVariantTrait; + protected function createTranslation(): ProductVariantTranslationInterface { return new ProductVariantTranslation(); } }
- 您的`Shipment`实体应该实现`MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShipmentInterface`并使用`MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShipmentTrait`特性
namespace App\Entity\Shipping; use Doctrine\ORM\Mapping as ORM; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShipmentInterface as MonsieurBizShipmentInterface; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShipmentTrait; use Sylius\Component\Core\Model\Shipment as BaseShipment; /** * @ORM\Entity * @ORM\Table(name="sylius_shipment") */ #[ORM\Entity] #[ORM\Table(name: 'sylius_shipment')] -class Shipment extends BaseShipment +class Shipment extends BaseShipment implements MonsieurBizShipmentInterface { + use ShipmentTrait; }
- 您的`ShippingMethod`实体应该实现`MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodInterface`并使用`MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodTrait`特性
namespace App\Entity\Shipping; use Doctrine\ORM\Mapping as ORM; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodInterface as MonsieurBizShippingMethodInterface; +use MonsieurBiz\SyliusShippingSlotPlugin\Entity\ShippingMethodTrait; use Sylius\Component\Core\Model\ShippingMethod as BaseShippingMethod; use Sylius\Component\Shipping\Model\ShippingMethodTranslationInterface; /** * @ORM\Entity * @ORM\Table(name="sylius_shipping_method") */ #[ORM\Entity] #[ORM\Table(name: 'sylius_shipping_method')] -class ShippingMethod extends BaseShippingMethod +class ShippingMethod extends BaseShippingMethod implements MonsieurBizShippingMethodInterface { + use ShippingMethodTrait { + ShippingMethodTrait::__construct as private shippingMethodTraitConstruct; + } + + public function __construct() + { + parent::__construct(); + $this->shippingMethodTraitConstruct(); + } + protected function createTranslation(): ShippingMethodTranslationInterface { return new ShippingMethodTranslation(); } }
- 使用以下命令更新您的数据库模式
bin/console doctrine:migrations:migrate
- 生成迁移并更新您的数据库模式
bin/console doctrine:migrations:diff bin/console doctrine:migrations:migrate
赞助商
- Glacier1891
- WahsWash
贡献
如果您想,可以开启一个问题或Pull Request! 😘
谢谢!