3brs / sylius-shipment-export-plugin
Shipping export plugin for Sylius
Installs: 1 444
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 5
Open Issues: 0
Type:sylius-plugin
Requires
- php: ^8.2
- sylius/sylius: 2.0.*
Requires (Dev)
- behat/behat: ^v3.19.0
- dmore/behat-chrome-extension: ^1.4.0
- dmore/chrome-mink-driver: ^2.9.3
- doctrine/annotations: ^2.0.2
- friends-of-behat/mink: ^v1.11.0
- friends-of-behat/mink-browserkit-driver: ^v1.6.2
- friends-of-behat/mink-debug-extension: ^v2.1.0
- friends-of-behat/mink-extension: ^v2.7.5
- friends-of-behat/page-object-extension: ^v0.3.2
- friends-of-behat/suite-settings-extension: ^v1.1.0
- friends-of-behat/symfony-extension: v2.6.0
- friends-of-behat/variadic-extension: ^v1.6.0
- php-http/message-factory: ^1.1.0
- phpstan/phpstan: ^2.1.10
- phpstan/phpstan-doctrine: ^2.0.2
- phpstan/phpstan-strict-rules: ^2.0.4
- phpstan/phpstan-symfony: ^2.0.3
- phpstan/phpstan-webmozart-assert: ^2.0.0
- phpunit/phpunit: ^11.5
- polishsymfonycommunity/symfony-mocker-container: ^v1.0.8
- rector/rector: ^2.0.10
- sylius-labs/coding-standard: ^v4.4.0
- sylius/sylius-rector: ^v3.0.0
- symfony/browser-kit: ^v6.4|^v7.1
- symfony/debug-bundle: ^v6.4|^v7.1
- symfony/dotenv: ^v6.4|^v7.1
- symfony/flex: ^v2.5.0
- symfony/framework-bundle: ^v6.4|^v7.1
- symfony/http-foundation: ^v7.2.3
- symfony/http-kernel: ^v6.4|^v7.1
- symfony/intl: ^v6.4|^v7.1
- symfony/web-profiler-bundle: ^v6.4|^v7.1
- symplify/easy-coding-standard: ^12.0
Conflicts
- api-platform/core: <2.7.13
- api-platform/symfony: <v4.1.0
- babdev/pagerfanta-bundle: <3.6.1
- doctrine/collections: <1.7.0
- doctrine/data-fixtures: <1.5.1
- doctrine/dbal: <2.13.3
- doctrine/doctrine-bundle: <2.13.1
- friendsofsymfony/rest-bundle: <3.1.0
- jms/serializer-bundle: <4.2.0
- knplabs/knp-menu: <3.3.0
- lexik/jwt-authentication-bundle: <2.12
- masterminds/html5: <2.7.5
- payum/core: <1.7.3
- polishsymfonycommunity/symfony-mocker-container: <1.0.6
- sylius/resource-bundle: <1.10.0
- sylius/sylius: <2.0.5
- symfony/css-selector: <4.4.24
- symfony/framework-bundle: >=5.4.0 <=5.4.20|>=6.0.0 <=6.0.16|>=6.1.0 <=6.1.8|>=6.2.0 <=6.2.2|6.2.8
- symfony/mime: <5.4.0
- symfony/web-link: <5.3.0
- symplify/easy-coding-standard: <10.2.0|12.5.10
- twig/twig: <2.14.7
- webmozart/assert: <1.11.0
- willdurand/negotiation: <3.0
This package is auto-updated.
Last update: 2025-05-26 12:45:34 UTC
README
Shipment Export Plugin
Features
- See list of all ready to ship orders (offline payment method or payment completed for non offline method)
- Mark more orders at once as shipped
- Download CSV for submitting batch shipments with Geis
- Download CSV for submitting batch shipments with Czech Post
- You can easily extend the module to support custom CSV format for other shipping providers
Installation
- Run
composer require 3brs/sylius-shipment-export-plugin
. - Register
ThreeBRS\SyliusShipmentExportPlugin\ThreeBRSSyliusShipmentExportPlugin::class => ['all' => true]
in yourconfig/bundles.php
. - Import routes in your
config/routes.yaml
threebrs_shipment_export_plugin:
resource: "@ThreeBRSSyliusShipmentExportPlugin/Resources/config/admin_routing.{yml,yaml}"
prefix: /admin
- Import plugin configuration in your
config/packages/_sylius.yaml
imports: - { resource: "@ThreeBRSSyliusShipmentExportPlugin/Resources/config/config.yaml" }
Usage
You can use predefined CSV type for shipment providers Geis and Czech Post) or write your own exporter.
Your custom exporter has to implement ThreeBRS\SyliusShipmentExportPlugin\Model\ShipmentExporterInterface
and must be defined as service. Check out our sample implementations.
Predefined shipping providers:
- Czech post
ThreeBRS\SyliusShipmentExportPlugin\Model\CeskaPostaShipmentExporter:
public: true
arguments:
$currencyConverter: '@sylius.converter.currency'
tags:
- name: threebrs.shipment_exporter_type
type: 'ceska_posta'
label: 'Česká pošta'
- Geis
ThreeBRS\SyliusShipmentExportPlugin\Model\GeisShipmentExporter:
public: true
arguments:
$currencyConverter: '@sylius.converter.currency'
tags:
- name: threebrs.shipment_exporter_type
type: 'geis'
label: 'Geis'
Shipping methods
Your shipping methods must have a code that matches the code of the shipping method in the exporter
- for Geis see
\ThreeBRS\SyliusShipmentExportPlugin\Model\GeisShipmentExporter::getShippingMethodsCodes
- for Czech Post see
\ThreeBRS\SyliusShipmentExportPlugin\Model\CeskaPostaShipmentExporter::getShippingMethodsCodes
Development
Usage
- Develop your plugin in
/src
- See
bin/
for useful commands
Testing
After your changes you must ensure that the tests are still passing.
$ composer install $ bin/phpstan.sh $ bin/ecs.sh
License
This library is under the MIT license.