monsieurbiz/sylius-order-history-plugin

在后台添加包含所有订单事件的时序图。

v1.0.1 2024-08-02 07:24 UTC

This package is auto-updated.

Last update: 2024-09-02 07:41:56 UTC


README

Banner of Sylius Order History plugin

Sylius订单历史插件

Order History Plugin license Tests Status Security Status

此插件保存订单事件,并允许您以时间轴的形式在订单历史中显示它们。它基于状态机事件。

Demo of the Order History

安装

通过composer安装插件

composer require monsieurbiz/sylius-order-history-plugin

对于不带flex的安装,请按照以下额外步骤操作

修改您的config/bundles.php文件,为插件声明添加此行

<?php

return [
    //..
    MonsieurBiz\SyliusOrderHistoryPlugin\MonsieurBizSyliusOrderHistoryPlugin::class => ['all' => true],
];

将插件配置文件复制到您的config文件夹

cp -Rv vendor/monsieurbiz/sylius-order-history-plugin/recipes/1.0/config/ config

Doctrine迁移

为了为插件创建专用表,请勿忘记执行doctrine迁移命令

bin/console doctrine:migrations:migrate

入门

在Sylius后端显示任何订单,然后点击右上角的历史按钮。

它是如何工作的?

此插件基于状态机事件。它使用原生的Winzou状态机回调系统在事件触发时保存命名订单事件。

# src/Resources/config/state_machine/checkout.yaml
winzou_state_machine:
  sylius_order_checkout:
    callbacks:
      after:
        monsieur_biz_order_history_notify_address:
          on: 'address'
          do: [ '@MonsieurBiz\SyliusOrderHistoryPlugin\Notifier\OrderHistoryWithAddressesDataNotifier', 'notifyEvent' ]
          args: [ 'object', 'constant("MonsieurBiz\\SyliusOrderHistoryPlugin\\Entity\\OrderHistoryEventInterface::TYPE_CHECKOUT")', '"addressed"' ]

特定于回调的通告服务/操作,根据上下文添加不同细节

  • \MonsieurBiz\SyliusOrderHistoryPlugin\Notifier\OrderHistoryNotifier是一个基本的通告者,除了作为参数提供的给定细节外没有其他特定细节。
  • \MonsieurBiz\SyliusOrderHistoryPlugin\Notifier\OrderHistoryWithAddressesDataNotifier是一个针对地址事件的通告者。它添加了账单和发货地址数据。
  • \MonsieurBiz\SyliusOrderHistoryPlugin\Notifier\ShipmentOrderHistoryNotifier是一个针对发货事件的通告者。它添加了发货方法名称和发货状态。
  • \MonsieurBiz\SyliusOrderHistoryPlugin\Notifier\PaymentOrderHistoryNotifier是一个针对付款事件的通告者。它添加了付款方法名称和付款状态。

如何

贡献

您可以在文件DEVELOPMENT.md中找到运行插件的方法。

然后,如果您愿意,可以打开一个问题或Pull Request! 😘
谢谢!

许可证

此插件完全免费,并按MIT许可证发布。