setono/sylius-peak-wms-plugin
最新稳定版本:v1.0.0-beta.2
Composer 安装命令:
composer require setono/sylius-peak-wms-plugin
包简介
Integrate your store with Peak WMS
关键字:
README 文档
README
Installation
composer require setono/sylius-peak-wms-plugin
Add plugin class to your bundles.php
Make sure you add it before SyliusGridBundle, otherwise you'll get
You have requested a non-existent parameter "setono_sylius_peak.model.upload_order_request.class". exception.
<?php $bundles = [ // ... Setono\SyliusPeakPlugin\SetonoSyliusPeakPlugin::class => ['all' => true], Sylius\Bundle\GridBundle\SyliusGridBundle::class => ['all' => true], // ... ];
Import routing
# config/routes/setono_sylius_peak.yaml setono_sylius_peak: resource: "@SetonoSyliusPeakPlugin/Resources/config/routes.yaml"
or if your app doesn't use locales:
# config/routes/setono_sylius_peak.yaml setono_sylius_peak: resource: "@SetonoSyliusPeakPlugin/Resources/config/routes_no_locale.yaml"
Add environment variables
Add the following variables to your .env file:
###> setono/sylius-peak-wms-plugin ### PEAK_WMS_API_KEY=YOUR_API_KEY ###< setono/sylius-peak-wms-plugin ###
Extend entities
Order entity
<?php # src/Entity/Order/Order.php declare(strict_types=1); namespace App\Entity\Order; use Setono\SyliusPeakPlugin\Model\OrderInterface as PeakOrderInterface; use Setono\SyliusPeakPlugin\Model\OrderTrait as PeakOrderTrait; use Sylius\Component\Core\Model\Order as BaseOrder; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * * @ORM\Table(name="sylius_order") */ class Order extends BaseOrder implements PeakOrderInterface { use PeakOrderTrait; }
ProductVariant entity
<?php # src/Entity/Product/ProductVariant.php declare(strict_types=1); namespace App\Entity\Order; use Doctrine\ORM\Mapping as ORM; use Setono\SyliusPeakPlugin\Model\ProductVariantInterface as PeakProductVariantInterface; use Setono\SyliusPeakPlugin\Model\ProductVariantTrait as PeakProductVariantTrait; use Sylius\Component\Core\Model\ProductVariant as BaseProductVariant; /** * @ORM\Entity * * @ORM\Table(name="sylius_product_variant") */ class ProductVariant extends BaseProductVariant implements PeakProductVariantInterface { use PeakProductVariantTrait; }
Update your database
php bin/console doctrine:migrations:diff php bin/console doctrine:migrations:migrate
Add jobs to your cron
# Will process the orders that are ready to be sent to Peak WMS php bin/console setono:sylius-peak-wms:process-upload-order-requests # Will create upload product variant requests for all product variants php bin/console setono:sylius-peak-wms:create-upload-product-variant-requests # Will process the upload product variant requests php bin/console setono:sylius-peak-wms:process-upload-product-variant-requests # Will update the inventory in Sylius based on the inventory in Peak WMS php bin/console setono:sylius-peak-wms:update-inventory # Will remove webhooks older than the given threshold (default is 30 days) php bin/console setono:sylius-peak-wms:prune-webhooks # Will remove upload product variant requests older than the defined threshold (default is 7 days) php bin/console setono:sylius-peak-wms:prune-upload-product-variant-requests
Register webhooks
To receive stock adjustments and order status updates from Peak WMS, you need to register webhooks in Peak WMS.
Do this by running the following command:
php bin/console setono:sylius-peak-wms:register-webhooks
NOTICE That you also need to enable the sending of webhooks inside the Peak interface.
Development
(cd tests/Application && yarn install) (cd tests/Application && yarn build) (cd tests/Application && bin/console assets:install) (cd tests/Application && bin/console doctrine:database:create) (cd tests/Application && bin/console doctrine:schema:create) (cd tests/Application && bin/console sylius:fixtures:load -n) (cd tests/Application && symfony serve -d) vendor/bin/expose token <your expose token> vendor/bin/expose default-server free # If you are not paying for Expose vendor/bin/expose share https://127.0.0.1:8000
统计信息
- 总下载量: 1.48k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-06-13