juicesweb / sylius-colissimo-plugin
Sylius 的 Colissimo 插件。
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- sylius/sylius: ~1.8.0 || ~1.9.0 || ~1.10.0 || ~1.11.0 || ~1.12.0
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.4
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-extension: ^2.4
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.1
- friends-of-behat/variadic-extension: ^1.3
- friendsofsymfony/oauth-server-bundle: ^1.6 || >2.0.0-alpha.0 ^2.0@dev
- lakion/mink-debug-extension: ^2.0.0
- phpspec/phpspec: ^7.0
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: 0.12.74
- phpstan/phpstan-doctrine: 0.12.31
- phpstan/phpstan-strict-rules: ^0.12.0
- phpstan/phpstan-webmozart-assert: 0.12.12
- phpunit/phpunit: ^9.5
- sensiolabs/security-checker: ^6.0
- sylius-labs/coding-standard: ^3.1
- symfony/browser-kit: ^4.4 || ^5.2
- symfony/debug-bundle: ^4.4 || ^5.2
- symfony/dotenv: ^4.4 || ^5.2
- symfony/intl: ^4.4 || ^5.2
- symfony/web-profiler-bundle: ^4.4 || ^5.2
- vimeo/psalm: 4.4.1
This package is not auto-updated.
Last update: 2024-09-30 17:14:11 UTC
README
简介
此 Sylius 插件允许您使用 Colissimo 管理包裹运输。您可以定义例如 colissimo 自提点
或 colissimo 家庭配送
的配送方式。
对于自提点配送,将根据用户通过隧道输入的配送地址生成一个包含自提点列表的交互式地图。
用法
待补充:添加截图
安装
步骤 1:安装并启用插件
打开命令行控制台,进入您的项目目录,然后执行以下命令以下载此插件的最新稳定版本
$ composer require cleverage/sylius-colissimo-plugin
此命令需要您全局安装了 Composer,如 Composer 文档中的 安装章节 所述。
将捆绑包添加到您的 config/bundles.php
<?php # config/bundles.php return [ // ... CleverAge\SyliusColissimoPlugin\CleverAgeSyliusColissimoPlugin::class => ['all' => true], // ... ];
步骤 2:导入路由和配置
导入路由
# config/routes/clerverage_sylius_colissimo.yaml clever_age_sylius_colissimo_shop: resource: "@CleverAgeSyliusColissimoPlugin/Resources/config/shop_routing.yml" clever_age_sylius_colissimo_admin: resource: "@CleverAgeSyliusColissimoPlugin/Resources/config/admin_routing.yml" prefix: /admin
导入应用程序配置
# config/packages/_sylius.yaml imports: - { resource: "@CleverAgeSyliusColissimoPlugin/Resources/config/config.yaml" }
步骤 3:更新模板
管理部分
将以下内容添加到管理模板 SyliusAdminBundle/ShippingMethod/_form.html.twig
<h4 class="ui dividing header">{{ 'clever_age.admin.ui.shipping_method.title'|trans }}</h4> {{ form_row(form.colissimoPickup) }} {{ form_row(form.colissimoHomeDelivery) }}
请参阅示例 这里。
接下来,将以下内容添加到管理模板 SyliusAdminBundle/Order/Show/_shipment.html.twig
在运输标题之后
{% include "CleverAgeSyliusColissimoPlugin/Shipment/Label/pickupPoint.html.twig" %}
请参阅示例 这里。
商店部分
将以下内容添加到商店模板 SyliusShopBundle/Checkout/SelectShipping/_choice.html.twig
// ... {% if method.isColissimoPickup %} {% include '@CleverAgeSyliusColissimoPlugin/Shipment/selectedPickupPoint.html.twig' %} {% endif %} // ... {% if method.isColissimoPickup %} {% include '@CleverAgeSyliusColissimoPlugin/Shipment/map.html.twig' with { 'pickupPoints': [myPickupPoints] } %} {% endif %}
请参阅示例 这里。
接下来,将以下内容添加到商店模板 SyliusShopBundle/Common/Order/_shipments.html.twig
在运输方法标题之后
{% include "@CleverAgeSyliusColissimoPlugin/Shipment/Label/pickupPoint.html.twig" %}
请参阅示例 这里。
步骤 4:更新样式、脚本和安装资源
将以下内容添加到商店模板 SyliusShopBundle/_styles.html.twig
{% include '@SyliusUi/_stylesheets.html.twig' with { 'path': 'bundles/cleveragesyliuscolissimoplugin/css/map.css' } %} {% include '@SyliusUi/_stylesheets.html.twig' with { 'path': 'bundles/cleveragesyliuscolissimoplugin/css/popup.css' } %} {# Important for the map ! #} <link rel="stylesheet" href="https://unpkg.com/leaflet@1.8.0/dist/leaflet.css" integrity="sha512-hoalWLoI8r4UszCkZ5kL8vayOGVae1oxXe/2A4AO6J9+580uKHDO3JdHb7NzwwzK5xr/Fs0W40kiNHxM9vyTtQ==" crossorigin="" />
请参阅示例 这里。
接下来,将以下内容添加到商店模板 SyliusShopBundle/_scripts.html.twig
<script src="{{ asset('bundles/cleveragesyliuscolissimoplugin/js/map.js') }}" type="module"></script> {% include '@SyliusUi/_javascripts.html.twig' with { 'path': 'bundles/cleveragesyliuscolissimoplugin/js/select-pickup-point.js' } %} {% include '@SyliusUi/_javascripts.html.twig' with { 'path': 'bundles/cleveragesyliuscolissimoplugin/js/change-pickup-point.js' } %} {% include '@SyliusUi/_javascripts.html.twig' with { 'path': 'bundles/cleveragesyliuscolissimoplugin/js/select-shipping.js' } %}
请参阅示例 这里。
安装资源
bin/console assets:install --symlink
步骤 5:自定义资源
运输方法资源
如果您尚未扩展运输方法资源,以下是它应该看起来像什么
<?php // src/Entity/ShippingMethod.php declare(strict_types=1); namespace App\Entity; use Doctrine\ORM\Mapping as ORM; use CleverAge\SyliusColissimoPlugin\Model\ShippingMethodInterface; use CleverAge\SyliusColissimoPlugin\Model\ShippingMethodTrait; use Sylius\Component\Core\Model\ShippingMethod as BaseShippingMethod; /** * @ORM\Entity() * @ORM\Table(name="sylius_shipping_method") */ class ShippingMethod extends BaseShippingMethod implements ShippingMethodInterface { use ShippingMethodTrait; }
订单资源
如果您尚未扩展订单资源,以下是它应该看起来像什么
<?php // src/Entity/Order.php declare(strict_types=1); namespace App\Entity; use CleverAge\SyliusColissimoPlugin\Model\OrderInterface; use CleverAge\SyliusColissimoPlugin\Model\OrderTrait; use Doctrine\ORM\Mapping as ORM; use Sylius\Component\Core\Model\Order as BaseOrder; /** * @ORM\Entity() * @ORM\Table(name="sylius_order") */ class Order extends BaseOrder implements OrderInterface { use OrderTrait; }
您可以在 这里 阅读有关扩展资源的内容。
更新运输和订单资源配置
接下来,您需要通知 Sylius 您将使用自己的扩展资源
# config/packages/_sylius.yaml sylius_shipping: resources: shipping_method: classes: model: App\Entity\ShippingMethod sylius_order: resources: order: classes: model: App\Entity\Order
步骤 6:更新数据库模式
bin/console doctrine:migrations:diff bin/console doctrine:migrations:migrate
步骤 7:配置插件
// config/packages/cleverage_sylius_colissimo.yaml clever_age_sylius_colissimo: encryptionKey: 'your encryption key'
现在享受吧!