3brs / sylius-mailchimp-plugin
MailChimp plugin for Sylius
Installs: 192
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:sylius-plugin
Requires
- php: ^8.1
- ext-json: *
- drewm/mailchimp-api: ^2.5.4
- sylius/sylius: 1.13.*
Requires (Dev)
- behat/behat: ^3.9.0
- behat/mink-selenium2-driver: ^1.4
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- doctrine/annotations: ^2.0
- friends-of-behat/mink: ^1.10
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-debug-extension: ^2.1
- 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
- php-http/message-factory: ^1.0.0
- phpstan/phpstan: ^1.12
- phpstan/phpstan-doctrine: ^1.5.7
- phpstan/phpstan-strict-rules: ^1.3.0
- phpstan/phpstan-symfony: ^1.3
- phpstan/phpstan-webmozart-assert: ^1.2.0
- phpunit/phpunit: ^9.5
- polishsymfonycommunity/symfony-mocker-container: ^1.0
- rector/rector: ^1.2
- sylius-labs/coding-standard: ^4.2
- symfony/browser-kit: ^6.4
- symfony/debug-bundle: ^6.4
- symfony/dotenv: ^6.4
- symfony/flex: ^2.2.2
- symfony/framework-bundle: ^6.4
- symfony/http-foundation: ^6.4
- symfony/http-kernel: ^6.4
- symfony/intl: ^6.4
- symfony/web-profiler-bundle: ^6.4
Conflicts
- api-platform/core: <2.7.13
- 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.2
- 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
- polishsymfonycommunity/symfony-mocker-container: <1.0.6
- sylius/resource-bundle: <1.11.0
- 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
- twig/twig: <2.14.7
- webmozart/assert: <1.11.0
- willdurand/negotiation: <3.0
This package is auto-updated.
Last update: 2025-06-03 11:52:54 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\ThreeBRSSyliusMailChimpPlugin
in your Kernel. - Your Entity
Channel
has to implement\ThreeBRS\SyliusMailChimpPlugin\Entity\ChannelMailChimpSettingsInterface
. You can use TraitThreeBRS\SyliusMailChimpPlugin\Entity\ChannelMailChimpSettingsTrait
. - Include
{{ include('@ThreeBRSSyliusMailChimpPlugin/mailChimpChannelSettingsForm.html.twig') }}
in channel edit page. - Create and run doctrine database migrations.
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
Optional (subscription from checkout)
- Include subscribe checkbox template into checkout
{{ include('@ThreeBRSSyliusMailChimpPlugin/newsletterSubscribeForm.html.twig') }}
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.