mangoweb-sylius / sylius-ceska-posta-balikomaty-plugin
Sylius的Česká pošta balíkomaty插件
Requires
- php: ^7.3
- ext-json: *
- mangoweb-sylius/sylius-shipment-export-plugin: ^0.4.0
- sylius/sylius: ^1.7.0
Requires (Dev)
- behat/behat: ^3.4
- behat/mink: ^1.7@dev
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.2
- behat/mink-selenium2-driver: ^1.3
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.0
- friends-of-behat/variadic-extension: ^1.1
- lakion/mink-debug-extension: ^1.2.3
- phpspec/phpspec: ^6.0
- phpstan/phpstan: ^0.12.0
- phpstan/phpstan-doctrine: ^0.12.0
- phpstan/phpstan-strict-rules: ^0.12.0
- phpstan/phpstan-symfony: ^0.12.4
- phpstan/phpstan-webmozart-assert: ^0.12.0
- phpunit/phpunit: ^8.0
- sensiolabs/security-checker: ^6.0
- sylius-labs/coding-standard: ^3.1
- symfony/browser-kit: ^4.4
- symfony/debug-bundle: ^4.4
- symfony/dotenv: ^4.4
- symfony/intl: ^4.4
- symfony/web-profiler-bundle: ^4.4
- symfony/web-server-bundle: ^4.4
Conflicts
- symfony/browser-kit: 4.1.8
- symfony/dependency-injection: 4.1.8
- symfony/dom-crawler: 4.1.8
- symfony/routing: 4.1.8
- symfony/symfony: 4.1.8
This package is auto-updated.
Last update: 2024-09-07 15:48:36 UTC
README
Česká Pošta Balíkomaty Plugin
功能
- 添加了新的配送类型 Česká Pošta Balíkomat 分支,允许将订单产品发送到选定的Česká Pošta Balíkomat分支。
- 用户可以在结账过程中的配送步骤中选择Česká Pošta Balíkomat分支。
- 在最终结账步骤和后台面板中都可以看到Česká Pošta Balíkomat分支。
- 导出带有Česká Pošta Balíkomat配送的CSV文件,并将其轻松导入Česká Pošta Balíkomaty的系统。
安装
-
运行
$ composer require mangoweb-sylius/sylius-ceska-posta-balikomaty-plugin
。 -
将插件类添加到您的
config/bundles.php
return [ ... MangoSylius\ShipmentExportPlugin\MangoSyliusShipmentExportPlugin::class => ['all' => true], MangoSylius\SyliusCeskaPostaBalikomatyPlugin\MangoSyliusCeskaPostaBalikomatyPlugin::class => ['all' => true], ];
-
将资源添加到
config/packeges/_sylius.yaml
imports: ... - { resource: "@MangoSyliusCeskaPostaBalikomatyPlugin/Resources/config/resources.yml" }
-
将路由添加到
config/_routes.yaml
mango_sylius_ceska_posta_balikomaty_plugin: resource: '@MangoSyliusCeskaPostaBalikomatyPlugin/Resources/config/routing.yml' prefix: /admin mango_sylius_shipment_export_plugin: resource: '@MangoSyliusShipmentExportPlugin/Resources/config/routing.yml' prefix: /admin
-
您的实体
Shipment
必须实现\MangoSylius\SyliusCeskaPostaBalikomatyPlugin\Model\CeskaPostaBalikomatyShipmentInterface
。您可以使用特质\MangoSylius\SyliusCeskaPostaBalikomatyPlugin\Model\CeskaPostaBalikomatyShipmentTrait
。<?php declare(strict_types=1); namespace App\Entity\Shipping; use Doctrine\ORM\Mapping as ORM; use MangoSylius\SyliusCeskaPostaBalikomatyPlugin\Model\CeskaPostaBalikomatyShipmentInterface; use MangoSylius\SyliusCeskaPostaBalikomatyPlugin\Model\CeskaPostaBalikomatyShipmentTrait; use Sylius\Component\Core\Model\Shipment as BaseShipment; /** * @ORM\Entity * @ORM\Table(name="sylius_shipment") */ class Shipment extends BaseShipment implements CeskaPostaBalikomatyShipmentInterface { use CeskaPostaBalikomatyShipmentTrait; }
-
您的实体
ShippingMethod
必须实现\MangoSylius\SyliusCeskaPostaBalikomatyPlugin\Model\CeskaPostaBalikomatyShippingMethodInterface
。您可以使用特质\MangoSylius\SyliusCeskaPostaBalikomatyPlugin\Model\CeskaPostaBalikomatyShippingMethodTrait
。<?php declare(strict_types=1); namespace App\Entity\Shipping; use Doctrine\ORM\Mapping as ORM; use MangoSylius\SyliusCeskaPostaBalikomatyPlugin\Model\CeskaPostaBalikomatyShippingMethodInterface; use MangoSylius\SyliusCeskaPostaBalikomatyPlugin\Model\CeskaPostaBalikomatyShippingMethodTrait; use Sylius\Component\Core\Model\ShippingMethod as BaseShippingMethod; /** * @ORM\Entity * @ORM\Table(name="sylius_shipping_method") */ class ShippingMethod extends BaseShippingMethod implements CeskaPostaBalikomatyShippingMethodInterface { use CeskaPostaBalikomatyShippingMethodTrait; }
-
将
@MangoSyliusCeskaPostaBalikomatyPlugin/Admin/ShippingMethod/_ceskaPostaBalikomatyForm.html.twig
包含到@SyliusAdmin/ShippingMethod/_form.html.twig
中。... {{ include('@MangoSyliusCeskaPostaBalikomatyPlugin/Admin/ShippingMethod/_ceskaPostaBalikomatyForm.html.twig') }} ...
-
将
@MangoSyliusCeskaPostaBalikomatyPlugin/Shop/Checkout/SelectShipping/_ceskaPostaBalikomatyChoice.html.twig
包含到@SyliusShop/Checkout/SelectShipping/_choice.html.twig
中。... {{ include('@MangoSyliusCeskaPostaBalikomatyPlugin/Shop/Checkout/SelectShipping/_ceskaPostaBalikomatyChoice.html.twig') }}
-
在
@SyliusShop/Common/_address.html.twig
中将{% include '@SyliusShop/Common/_address.html.twig' with {'address': order.shippingAddress} %}
替换为{{ include('@MangoSyliusCeskaPostaBalikomatyPlugin/Shop/Common/Order/_addresses.html.twig') }}
,在@SyliusShop/Common/Order/_addresses.html.twig
中。 -
在
@SyliusAdmin/Common/_address.html.twig
中将{% include '@SyliusAdmin/Common/_address.html.twig' with {'address': order.shippingAddress} %}
替换为{{ include('@MangoSyliusCeskaPostaBalikomatyPlugin/Admin/Common/Order/_addresses.html.twig') }}
,在@SyliusAdmin/Order/Show/_addresses.html.twig
中。 -
在
@MangoSyliusShipmentExportPlugin/_row.html.twig
中覆盖模板{% extends '@!MangoSyliusShipmentExportPlugin/_row.html.twig' %} {% block address %} {% if row.ceskaPostaBalikomat %} {{ include('@MangoSyliusCeskaPostaBalikomatyPlugin/_exporterRow.html.twig') }} {% else %} {{ parent() }} {% endif %} {% endblock %}
-
创建并运行doctrine数据库迁移。
有关如何使用自己的实体的指南,请参阅 Sylius文档 - 自定义模型
使用方法
-
在后台面板中创建新的配送方法并启用Česká Pošta Balíkomat,保存它并点击
同步Česká Pošta Balíkomaty分支
按钮,以将分支列表加载到当前数据库中。 -
将为代码为 'ceska_posta_balikomat' 的配送方法生成Česká Pošta Balíkomaty CSV导出,您可以在参数中更改此设置,它是一个数组。
parameters: shippingMethodsCodes: ['ceska_posta_balikomat']
-
Česká Pošta Balíkomaty分支在其服务器上更新。只需每天(最好在夜间)调用此命令(通过
cron
)一次。mango:ceska-posta-balikomaty:sync
开发
使用方法
- 在
/src
中开发您的插件 - 在
bin/
中查看有用的命令
测试
在您的更改之后,您必须确保测试仍然通过。
$ composer install
$ bin/console doctrine:schema:create -e test
$ bin/behat
$ bin/phpstan.sh
$ bin/ecs.sh
许可
此库受MIT许可证的约束。
鸣谢
由 manGoweb 开发。