setono/sylius-webhook-plugin

处理Sylius商店中的webhook

v0.1.0 2022-09-16 06:39 UTC

README

Latest Version Latest Unstable Version Software License Build Status Code Coverage

处理Sylius商店中的webhook

安装

步骤 1: 下载插件

composer require setono/sylius-webhook-plugin

步骤 2: 启用插件

然后,将以下内容添加到项目中的 config/bundles.php 文件中已注册的插件/包列表中,以启用插件

<?php

return [
    // ...
    
    Setono\SyliusWebhookPlugin\SetonoSyliusWebhookPlugin::class => ['all' => true],
    
    // It is important to add plugin before the grid bundle
    Sylius\Bundle\GridBundle\SyliusGridBundle::class => ['all' => true],
        
    // ...
];

注意:您必须在网格包之前实例化插件,否则您将看到如 您请求了一个不存在的参数 "setono_sylius_webhook.model.endpoint.class"。 的异常。

步骤 3: 导入路由

# config/routes/setono_sylius_webhook.yaml
setono_sylius_webhook:
    resource: "@SetonoSyliusWebhookPlugin/Resources/config/routes.yaml"

如果您不使用本地化URL,请使用此路由文件:@SetonoSyliusWebhookPlugin/Resources/config/routes_no_locale.yaml

步骤 4: 配置插件

# config/packages/setono_sylius_webhook.yaml
imports:
    - { resource: "@SetonoSyliusWebhookPlugin/Resources/config/app/config.yaml" }

步骤 5: 更新数据库模式

使用Doctrine迁移来创建迁移文件并更新数据库。

$ bin/console doctrine:migrations:diff
$ bin/console doctrine:migrations:migrate

步骤 6: 使用异步传输(可选,但推荐)

本插件中的所有事件都将扩展EventInterface。因此,您可以通过添加以下内容到您的信使配置来轻松地路由所有事件。

# config/packages/messenger.yaml
framework:
    messenger:
        routing:
            # Route all command messages to the async transport
            # This presumes that you have already set up an 'async' transport
            # See docs on how to setup a transport like that: https://symfony.com.cn/doc/current/messenger.html#transports-async-queued-messages
            'Setono\SyliusWebhookPlugin\Message\Event\EventInterface': async