3brs / sylius-mailchimp-plugin
MailChimp plugin for Sylius
Installs: 241
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:sylius-plugin
pkg:composer/3brs/sylius-mailchimp-plugin
Requires
- php: ^8.2
- ext-json: *
- drewm/mailchimp-api: ^2.5.4
- 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.1 || ^12.0.10
- 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: ^6.4|^7.1
- symfony/css-selector: ^6.4|^7.1
- symfony/debug-bundle: ^6.4|^7.1
- symfony/doctrine-bridge: ^6.4|^7.1
- symfony/dotenv: ^6.4|^7.1
- symfony/framework-bundle: ^6.4|^7.1
- symfony/http-foundation: ^6.4|^7.1
- symfony/http-kernel: ^6.4|^7.1
- symfony/intl: ^6.4|^7.1
- symfony/mime: ^6.4|^7.1
- symfony/web-link: ^6.4|^7.1
- symfony/web-profiler-bundle: ^6.4|^7.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.8.0
- 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.6
- 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-11-10 09:15:24 UTC
README
MailChimp Plugin
Features
- Per channel configurable options
- Subscribe user during checkout
- Subscribe user during registration
- Sync newsletter preferences in customer's profile
- Select the mailing list per channel
- Configure double opt-in per channel
- This plugin, unlike others, can handle large mailing lists
Installation
- Run
$ composer require 3brs/sylius-mailchimp-plugin. - Register
\ThreeBRS\SyliusMailChimpPlugin\ThreeBRSSyliusMailChimpPluginin your Kernel. - Your Entity
Channelhas to implement\ThreeBRS\SyliusMailChimpPlugin\Entity\ChannelMailChimpSettingsInterface. You can use TraitThreeBRS\SyliusMailChimpPlugin\Entity\ChannelMailChimpSettingsTrait. - Add config to
config/packages/_sylius.yamlimports: ... - { resource: "@ThreeBRSSyliusMailChimpPlugin/config/config.yaml" }
- Generate and run doctrine database migrations:
$ bin/console doctrine:migrations:diff $ bin/console doctrine:migrations:migrate
For guide to use your own entity see Sylius docs - Customizing Models.
Configuration
Set the API Key in parameters.yml
three_brs_sylius_mail_chimp:
mailchimp_api_key: API_KEY
Subscription from checkout
The newsletter subscription checkbox is automatically injected into the checkout address page via Sylius Twig hooks.
If you want to disable this feature, add the following configuration to your config/packages/_sylius.yaml file:
sylius_twig_hooks: hooks: 'sylius_shop.checkout.address.content.form.addresses.billing_address.address': newsletterSubscribeForm: enabled: false
Development
Usage
- Create symlink from .env.dist to .env or create your own .env file
- 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/console doctrine:schema:create -e test
$ bin/phpstan.sh
$ bin/ecs.sh
License
This library is under the MIT license.
