sebastienchampion/customer-reorder-plugin

Sylius插件,允许客户重新订购订单

This package is auto-updated.

Last update: 2024-09-26 15:44:55 UTC


README

⚠️ 请注意!此存储库已被弃用,Sylius团队将不会维护或发展它。您仍然可以使用它与兼容的Sylius版本,但请自行承担风险,因为将不会修复该存储库上的任何错误。

客户重新订购插件

此插件允许客户重新订购之前已放置的订单。

Screenshot showing the customer's orders page with reorder buttons

商业价值

插件允许客户重新订购任何已订购的订单。一旦点击“重新订购”按钮,就会创建一个新的购物车,其中包含从之前放置的订单中取出的项目。如果由于某些原因无法完全履行重新订购,客户将被告知影响订单的每个情况(例如,促销不再可用或项目价格的差异)。

一旦重新订购过程完成,新创建的订单将像任何其他订单一样列在历史记录中。

安装

请注意!

此安装说明假设您正在使用Symfony Flex。如果您不这样做,请查看旧版安装说明。然而,我们强烈建议您使用Symfony Flex,它要快得多! :)

要安装插件,只需使用composer要求它

composer require sylius/customer-reorder-plugin

请记住,使用composer config extra.symfony.allow-contrib true或在插件安装过程中允许社区食谱

扩展点

客户重新订购插件基于两个过程

  • 重新订购处理
  • 重新订购资格检查

它们都是基于Symfony的编译器遍历,并在services.xml文件中进行配置。

ReorderProcessing和EligibilityChecking是独立的过程 - 一旦使用处理器(标记为sylius_customer_reorder_plugin.reorder_processor的服务)创建重新订购,创建的实体将传递给资格检查器(标记为sylius_customer_reorder_plugin.eligibility_checker的服务)。

因此,可以通过添加实现ReorderEligibilityChecker并标记为sylius_customer_reorder_plugin.eligibility_checker的服务来分别扩展这两个过程,或者通过添加实现ReorderProcessor并标记为sylius_customer_reorder_plugin.reorder_processor的服务来扩展。

重新订购按钮的布局和在点击它时执行的操作都在reorder.html.twig模板中定义,该模板在config.yml文件中声明。

更重要的是,由于订单是一个资源,其配置的大部分内容都放在*.yml文件中。在不使用插件的情况下,订单有显示支付操作。添加重新订购操作需要在config.yml文件中扩展与订单相关的行为。

您可以在这里阅读更多关于资源的信息

安全问题

如果您认为您发现了一个安全问题,请不要使用问题跟踪器并在公共场合发布它。相反,所有安全问题都必须发送到security@sylius.com