The repository is private and served through Packeton (
https://packeton.markus-michalski.net). You get the credentials after purchasing a license or being granted access.
{ "repositories": [{ "type": "composer", "url": "https://packeton.markus-michalski.net" }] }
composer require mmd/sylius-accessibility-plugin
Register the bundle in config/bundles.php:
Mmd\SyliusAccessibilityPlugin\MmdSyliusAccessibilityPlugin::class => ['all' => true],
Import the admin routes, for example in config/routes/mmd_sylius_accessibility.yaml:
mmd_sylius_accessibility_admin:
resource: "@MmdSyliusAccessibilityPlugin/config/routes/admin.yaml"
Run the setup command and publish the assets:
bin/console mmd:accessibility:setup
bin/console assets:install public
mmd:accessibility:setupexecutes only this plugin's own open migrations (exactly one here, for themmd_sylius_accessibility_channel_settingstable), never those of your app or other plugins. The command is idempotent: nothing happens without a new migration, even after acomposer update. If Sylius' own migrations are still open it stops and asks you to rundoctrine:migrations:migratefirst. It also checks that the routes from step 2 are imported and prints the matching snippet if not - it never writes into yourconfig/itself. Run it as the same user as your other console commands; add--no-interactionin scripts. Plaindoctrine:migrations:migratestill works as an alternative.
Until you enable a channel in the admin, the widget shows nothing (see Configuration). The admin grid, Twig hooks, the Shop API resource and the Doctrine mapping register themselves; there are no shop routes, the plugin has none.
composer update mmd/sylius-accessibility-plugin
bin/console mmd:accessibility:setup --no-interaction
bin/console assets:install public
bin/console cache:clear
Running the setup command again after every update is always safe: nothing happens without a new migration.
The order matters, because Doctrine only knows the migration while the bundle is still registered:
Remove any of your own overrides of the plugin's templates (e.g. skip_target.html.twig).
With the bundle still registered, roll back the migration:
bin/console doctrine:migrations:execute --down 'Mmd\SyliusAccessibilityPlugin\Migrations\Version20261003140000'
Remove the route import and the bundle entry from config/bundles.php, then:
composer remove mmd/sylius-accessibility-plugin
bin/console assets:install public
The last call removes the copied assets again.
Alternatively, you can drop the
mmd_sylius_accessibility_channel_settingstable by hand instead of rolling back the migration. Then also remove theMmd\SyliusAccessibilityPlugin\Migrations\Version20261003140000row fromdoctrine_migration_versions.