quasiris/quasiris-sender-plugin

插件用于捕获spryker中的产品事件并将其发送到自定义API

dev-master 2020-06-23 14:11 UTC

This package is not auto-updated.

Last update: 2024-09-25 10:03:32 UTC


README

此库用于捕获有关产品(抽象、具体)的事件,例如

  • 创建、
  • 更新、
  • 发布、
  • 取消发布

并将其发送到自定义API URL(POST方法)。

数据到达API

API_URL_MAIN:
{
    "abstract": {}, //info about abstract of product
    "concrete": {}, //info about concrete of product
    "categories": {
        "categories": [] //info about categories of product
    }
}
API_URL_TESTING:
{
    "status": "SUCCESS",
    "params": {
        "date": "23.06.20 10:26:06",
        "listenerName": "QuasirisSenderPlugin",
        "eventName": "Product.product_abstract.after.update",
        "abstract": {
            
        },
        "concrete": [],
        "categories": {
            "categories": []
        },
        "productId": "//id of product",
        "type": "products"
    },
    "eventName": "Product.product_abstract.after.update",
    "request_form_params_main_api": "params with goes to api",
    "response_from_main_api": {},
    "url_main_api": "API_URL_MAIN",
    "url_testing_api": "API_URL_TESTING",
    "product_id": "//id of product"
}

安装

如果您还没有安装Composer,请访问Composer网站并安装它。

在您的项目终端中输入

composer require quasiris/quasiris-sender-plugin

使用方法

安装后,转到Pyz\Zed\Event\EventDependencyProvider.php;

导入订阅者

use Quasiris\Zed\QuasirisSenderPlugin\Communication\Plugins\Event\Subscriber\QuasirisSenderPluginSubscriber;

在getEventSubscriberCollection()方法中,在return $eventSubscriberCollection;上方,注册要监视的事件

$eventSubscriberCollection->add(new QuasirisSenderPluginSubscriber());

所有实现Pyz\Zed\Event\EventDependencyProvider.php

<?php
// Pyz\Zed\Event\EventDependencyProvider.php
namespace Pyz\Zed\Event;

use ...;
.
.
.
use Quasiris\Zed\QuasirisSenderPlugin\Communication\Plugins\Event\Subscriber\QuasirisSenderPluginSubscriber;

class EventDependencyProvider extends SprykerEventDependencyProvider
{
    /**
     * @return \Spryker\Zed\Event\Dependency\EventCollectionInterface
     */
    public function getEventListenerCollection()
    {
        return parent::getEventListenerCollection();
    }

    /**
     * @return \Spryker\Zed\Event\Dependency\EventSubscriberCollectionInterface
     */
    public function getEventSubscriberCollection()
    {
        .
        .
        .
        .
        .
        $eventSubscriberCollection->add(new QuasirisSenderPluginSubscriber());

        return $eventSubscriberCollection;
    }
}

接下来,转到config/Shared/config_default.php

从插件导入常量并添加常量

// config/Shared/config_default.php
use Quasiris\Zed\QuasirisSenderPlugin\Shared\QuasirisSenderPluginConstants;

//create this
$config[QuasirisSenderPluginConstants::MY_SETTING] = [
    'API_URL_MAIN' => 'main url where data goes',
    'API_URL_TESTING' => 'testing url where data goes with additional informations'
];


$config[KernelConstants::PROJECT_NAMESPACES] = [
    'Pyz',
    'Quasiris', //add this in KernelConstants::PROJECT_NAMESPACES
];

信息:API_URL_MAIN和API_URL_TESTING独立工作,您只能添加其中之一,例如。

// config/Shared/config_default.php
use Quasiris\Zed\QuasirisSenderPlugin\Shared\QuasirisSenderPluginConstants;

$config[QuasirisSenderPluginConstants::MY_SETTING] = [
    'API_URL_MAIN' => 'main url where data goes'
];
------------------------ Different example ------------------------------
// config/Shared/config_default.php
use Quasiris\Zed\QuasirisSenderPlugin\Shared\QuasirisSenderPluginConstants;

$config[QuasirisSenderPluginConstants::MY_SETTING] = [
    'API_URL_TESTING' => 'testing url where data goes with additional informations'
];

许可证

MIT