furgonetka / sylius-furgonetka-plugin
Furgonetka.pl shipping integration for Sylius — pickup-point selection at checkout and shipment management in the admin panel. Supports Sylius 1.14 and 2.0–2.2.
Package info
github.com/furgonetka/sylius-furgonetka-plugin
Type:sylius-plugin
pkg:composer/furgonetka/sylius-furgonetka-plugin
Requires
- php: ^8.1
- doctrine/dbal: ^3.0 || ^4.0
- doctrine/doctrine-bundle: ^1.12 || ^2.3.1
- doctrine/doctrine-migrations-bundle: ^3.0.1
- doctrine/migrations: ^3.5.5
- doctrine/orm: ^2.13 || ^3.0
- doctrine/persistence: ^2.3 || ^3.0
- liip/imagine-bundle: ^2.10
- sylius/api-bundle: ~1.14.0 || ~2.0.0 || ~2.1.0 || ~2.2.0
- sylius/core-bundle: ~1.14.0 || ~2.0.0 || ~2.1.0 || ~2.2.0
- symfony/config: ^5.4 || ^6.4 || ^7.0
- symfony/console: ^5.4 || ^6.4 || ^7.0
- symfony/dependency-injection: ^5.4 || ^6.4 || ^7.0
- symfony/framework-bundle: ^5.4 || ^6.4 || ^7.0
- symfony/http-client: ^5.4 || ^6.4 || ^7.0
- symfony/http-foundation: ^5.4 || ^6.4 || ^7.0
- symfony/serializer: ^5.4 || ^6.4 || ^7.0
- symfony/translation-contracts: ^2.5 || ^3.5
- symfony/webpack-encore-bundle: ^1.15 || ^2.0
- symfony/yaml: ^5.4 || ^6.4 || ^7.0
- webmozart/assert: ^1.9
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.4
- dbrekelmans/bdi: ^1.1
- 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-debug-extension: ^2.0.0
- 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
- phpspec/phpspec: ^7.2
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^1.8.1
- phpstan/phpstan-doctrine: 1.3.69
- phpstan/phpstan-strict-rules: ^1.3.0
- phpstan/phpstan-webmozart-assert: ^1.2.0
- phpunit/phpunit: ^10.5
- polishsymfonycommunity/symfony-mocker-container: ^1.0
- robertfausk/behat-panther-extension: ^1.1
- sylius-labs/coding-standard: ^4.2
- sylius-labs/suite-tags-extension: ^0.2
- symfony/browser-kit: ^5.4 || ^6.4
- symfony/debug-bundle: ^5.4 || ^6.4
- symfony/dotenv: ^5.4 || ^6.4
- symfony/flex: ^2.4
- symfony/intl: ^5.4 || ^6.4
- symfony/web-profiler-bundle: ^5.4 || ^6.4
Conflicts
- symfony/framework-bundle: 6.2.8
This package is not auto-updated.
Last update: 2026-07-21 10:06:43 UTC
README
Installation from Packagist via Composer.
Compatibility
A single plugin codebase supports Sylius 1.14 and Sylius 2.0 – 2.2. The plugin detects the
installed Sylius major version at compile time (FurgonetkaSyliusFurgonetkaExtension) and automatically
loads the matching admin view integration:
| Sylius | Admin UI | View injection | API Platform | PHP |
|---|---|---|---|---|
| 1.14 | Semantic UI | sylius_ui template events |
2.7 | 8.1+ |
| 2.0–2.2 | Bootstrap 5 | Twig Hooks (sylius_twig_hooks) |
4.x | 8.2+ |
The view config (sylius_ui / sylius_twig_hooks, sylius_grid) and the API Platform resource mapping
are registered automatically by the plugin — no manual import is required for them. Only the routes
(admin and shop) need to be wired in the application (see step 3), because their prefixes depend on the
shop's admin path / locale.
Installation
These steps install the plugin on an existing Sylius shop.
1. Require
composer require furgonetka/sylius-furgonetka-plugin
2. Register the bundle
Add the bundle to ./config/bundles.php (no Flex recipe ships with the plugin):
Furgonetka\SyliusFurgonetkaPlugin\FurgonetkaSyliusFurgonetkaPlugin::class => ['all' => true],
3. Routes
Add the admin routes to ./config/routes/sylius_admin.yaml
furgonetka_sylius_furgonetka_plugin_admin: resource: "@FurgonetkaSyliusFurgonetkaPlugin/Resources/config/admin_routing.yaml" prefix: '/%sylius_admin.path_name%'
Add the shop routes to ./config/routes/sylius_shop.yaml (needed for the checkout pickup-point
selector — without them the select-shipping step throws "route does not exist"):
furgonetka_sylius_furgonetka_plugin_shop: resource: "@FurgonetkaSyliusFurgonetkaPlugin/Resources/config/shop_routing.yaml" prefix: /{_locale} requirements: _locale: ^[A-Za-z]{2,4}(_([A-Za-z]{4}|[0-9]{3}))?(_([A-Za-z]{2}|[0-9]{3}))?$
The admin view integration (menu, order grid action, order sidebar, modal, assets) and the
GET /admin/furgonetka/ordersAPI Platform export endpoint are configured automatically by the plugin.
4. Migrations
Run: bin/console doctrine:migrations:migrate
The plugin registers its own migration namespace automatically (
PrependDoctrineMigrationsTraitinFurgonetkaSyliusFurgonetkaExtension), so nodoctrine_migrations.yamlchange is needed.
5. Assets
Run: bin/console assets:install public
6. Cache clear
Run bin/console cache:clear in the php container of the Sylius shop
7. Sylius API
Check if Sylius API is enabled
# config/packages/_sylius.yaml sylius_api: enabled: true
The plugin talks to the shop through the Sylius API, which needs a JWT keypair. If your shop doesn't have one yet, generate it:
bin/console lexik:jwt:generate-keypair