Extending Sylius with Plugins & Bundles
As you probably know already, Stable Release of Sylius is coming. Thus, we’ve thought it’s high time to present you our newly built page for all Sylius plugins, bundles & integrations.
We want to encourage all developers to build reusable components, share them with the community and integrate the platform with a lot of amazing tools. Every plugin positively reviewed by The Core Team will be placed on our website with author name and short description. Become recognizable as a Sylius contributor and help us grow the ecosystem!
What is a Sylius Plugin?
Plugins are just special type of bundles, which are built specifically for Sylius and add some extra functionality. That's it. From technical perspective, it is a regular Symfony bundle with some minor naming changes. It can hook into our events, customize configurations, decorate/override services, provide traits for models & repositories, etc. The possibilities are endless and we are excited to see what community will develop!
One exciting feature of Sylius architecture is that you can run the full test/dev environment application inside of the plugin repository. That allows to fully test the plugin and makes developing them much easier than in other systems. What is more, by using different Kernels, you can implement compatiblity tests with other plugins.
To get your plugin listed, it needs to fulfill a couple of requirements:
- Tested. You are free to pick Behat, PHPSpec, PHPUnit, Codeception, but the plugin needs to have automated tests setup on Travis-CI (or alternative) and "be green".
- Documented. Code is useless if nobody knows how to use it.
- Supported. You need to actively maintain the plugin, accept PRs & reply to issues.
We want to create a curated list of the best plugins and avoid having 10 different CMS solutions. We are also tired of working with constantly bugged extensions & modules to other systems, that’s why we are setting the quality bar high for our platform & plugins.
If your package is ready, just drop us an e-mail to firstname.lastname@example.org and we will review it. :)
For this moment, Sylius already has some plugins, which can be used in your project & serve as inspiration for writing your own plugins:
ShopApiPlugin developed by Łukasz Chruściel from Sylius Team - read more in separeted blog post dedicated to our future API approach: http://sylius.org/blog/new-sylius-api-for-modern-ecommerce-web-apps-spa-pwa
ElasticSearchPlugin - ElasticSearch integration with advanced filtering options for Sylius eCommerce applications.
CmsPlugin by BitBagCommerce - a CMS with support for blocks, pages, etc.
MailchimpPlugin made by BitBagCommerce
GoogleTagManagerPlugin - also made by Stefan Doorn, allows you to easily integrate GTM.
- PayuPlugin by BitBagCommerce - this plugin integrates PayU payments with Sylius based applications. After installing it you should be able to create a payment method for PayU gateway and enable its payments in your web store.
Thanks to Sylius being a modern application based on Symfony platform, there are a lot of libraries & bundles compatible that can save you plenty of development time. To make your life as an eCommerce developer easier, we also list recommended packages on our site. Some examples includes:
- Redis Bundle by Henrik Westphal This bundle integrates Predis and phpredis into your Symfony application.
You can use our PluginSkeleton to start a new plugin. You can find the full guide here.
This plugin & bundle listing is just an MVP of our real Sylius store, which will provide much more information about the packages and also allow to publish paid plugins & themes. Make sure to subscribe to our newsletter in order to get the latest news straight to your inbox.