tulik / admin-order-creation-plugin
Sylius插件,用于在管理面板中创建订单
Requires
- php: ^7.3
- friendsofsymfony/jsrouting-bundle: ^2.2
- friendsofsymfony/oauth-server-bundle: >2.0.0-alpha.0 ^2.0@dev
- sylius/sylius: ~1.9.0
Requires (Dev)
- behat/behat: ^3.4
- behat/mink-selenium2-driver: ^1.3
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.3
- friends-of-behat/mink-extension: ^2.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: ^7.0
- phpstan/phpstan: 0.12.29
- phpstan/phpstan-webmozart-assert: 0.12.6
- phpunit/phpunit: ^6.5
- se/selenium-server-standalone: ^2.52
- sylius-labs/coding-standard: ^3.0
- symfony/debug-bundle: ^4.4 || ^5.2
- symfony/dotenv: ^4.4 || ^5.2
- symfony/web-profiler-bundle: ^4.4 || ^5.2
- symfony/web-server-bundle: ^4.4 || ^5.2
README
管理订单创建插件
此插件允许在管理面板中创建订单。
商业价值
迄今为止,客户需要使用可用的产品变体以及支付和配送方式来下订单。
下订单的整个过程并不明显。由于某种原因,当促销活动不再可用或配送方式不适用于特定区域时,客户可能会感到有些困惑。这时就需要管理订单创建插件。
简而言之,它允许管理员代表客户下单或重新下单。它帮助他们解决更多客户的基本问题,并为管理员提供创建订单的基本工具。
管理订单创建插件的过程强烈基于从SyliusCoreBundle中获取的标准订单模型。唯一不同的是订单创建的上下文和业务需求。目前,管理员需要提供订单创建的渠道、区域和货币。更重要的是,管理员可以为任何商品或整个订单添加折扣,这在技术上讲,是一种新的Sylius调整类型。
通过管理面板创建订单后,此新订单将像通过Sylius创建的任何其他订单一样列出。
安装
注意!
以下安装说明假设您正在使用Symfony Flex。如果您不是,请参阅传统安装说明。然而,我们强烈建议您使用Symfony Flex,它要快得多! :)
-
使用Composer安装插件
composer require sylius/admin-order-creation-plugin
请记住,使用
composer config extra.symfony.allow-contrib true或插件安装过程中的社区食谱允许社区食谱。 -
将插件中覆盖的Sylius模板复制到您的模板目录(例如
templates/bundles/)mkdir -p templates/bundles/SyliusAdminBundle/ cp -R vendor/sylius/admin-order-creation-plugin/src/Resources/views/SyliusAdminBundle/* templates/bundles/SyliusAdminBundle/ -
将插件迁移复制到您的迁移目录(例如
src/Migrations),并将它们应用到您的数据库中cp -R vendor/sylius/admin-order-creation-plugin/migrations/* src/Migrations bin/console doctrine:migrations:migrate -
覆盖存储库
扩展点
管理订单创建插件允许在创建订单时添加自定义折扣,因此需要将一些订单显示模板替换为放置在Resources/views包中的模板。
支付链接生成和发送过程基于放置在PaymentLinkCreationListener类中的逻辑。因此,它可以很容易地替换为适当的实现。
调整集不是封闭和严格定义的 - 添加自定义调整意味着在AdjustmentType类中定义一个新的常量。
重新订购处理的主要部分受到了官方Sylius 客户重新订购插件的启发。如果需要更多处理器,只需添加实现ReorderProcessor接口的新类,将其声明在reorder_processing.xml文件中,并将其与适当的标签匹配即可。
管理订单创建过程基于Symfony表单。要了解更多关于Symfony表单扩展的可能性,请查看Symfony文档。
安全问题
如果您认为您发现了一个安全问题,请不要使用问题跟踪器,也不要公开发布。相反,所有安全问题必须发送到 security@sylius.com。
