Skip to content

mangoweb-sylius/SyliusMailChimpPlugin

Repository files navigation

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

  1. Run $ composer require mangoweb-sylius/sylius-mailchimp-plugin.
  2. Register \MangoSylius\MailChimpPlugin\MangoSyliusMailChimpPlugin in your Kernel.
  3. Your Entity Channel has to implement \MangoSylius\MailChimpPlugin\Entity\ChannelMailChimpSettingsInterface. You can use Trait MangoSylius\MailChimpPlugin\Entity\ChannelMailChimpSettingsTrait.
  4. Include {{ include('@MangoSyliusMailChimpPlugin/mailChimpChannelSettingsForm.html.twig') }} in channel edit page.

For guide to use your own entity see Sylius docs - Customizing Models.

Configuration

Set the API Key in parameters.yml

mango_sylius_mail_chimp:
	mailchimp_api_key: API_KEY

Optional (subscription from checkout)

  • Include subscribe checkbox template into checkout {{ include('@MangoSyliusMailChimpPlugin/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.

  • Easy Coding Standard
    bin/ecs.sh
  • PHPStan
    bin/phpstan.sh

License

This library is under the MIT license.

Credits

Developed by manGoweb.