This is a proof of concept integration of eZ Platform & Sylius eCommerce. eZ Platform being a really good CMS, and Sylius being a really good eCommerce solution, both running on Symfony full stack framework, and considering the fact that there is no quality solution that does both CMS and eCommerce right, it is only natural to try and connect the two.
Here both, eZ Platform and Sylius, run on same Symfony full stack instance. A bundle exists to assist the integration, by implementing custom user providers that make it possible to connect the users together.
Sylius users act as primary users, while eZ Platform users are secondary, you can use them (if they're connected to Sylius users) or not, it's up to you. However, you will at least need one Sylius admin user to be connected to one eZ Platform admin user in order to enable seamless login to both admin panels.
Due to way Sylius users are implemented, it is currently not possible to be logged in with both Sylius admin and Sylius shop users. Use a second browser or incognito mode to login both ways. Hopefully, this will be solved by the time this integration reaches a stable release.
Currently, only Sylius 1.0 alpha2 is supported, since later versions require Symfony 3.2, while eZ Platform only works with Symfony 2.8.
Run the following instructions to install the integration. This will first install Sylius, then install eZ Platform, and finally connect the admin users from Sylius and eZ Platform together.
$ git clone https://github.com/netgen/ezplatform-sylius.git
$ cd ezplatform-sylius
$ composer install
$ php app/console --env=prod sylius:install
$ php app/console --env=prod ezplatform:install clean
$ php app/console --env=prod assetic:dump
$ php app/console --env=prod assets:install --relative --symlink
$ php app/console --env=prod ezsylius:user:connect
To connect the users, when asked, select the admin
Sylius user type, then enter the e-mail address of Sylius admin user (the one you specified while running sylius:install
command), then enter the username of eZ Platform admin user (usually admin
).
Once all this is done, you will need to run Gulp to generate assets for Sylius backend interface. You will need to have gulp-cli
installed globally (first command) for this to work. From project root, run the following:
$ sudo npm install -g gulp-cli
$ npm install
$ gulp
When installing and activating eZ Publish legacy administration interface, be sure to activate the EzSyliusBundle
after EzPublishLegacyBundle
.
To activate support for Sylius Product field type in legacy administration interface, activate ezsylius
legacy extension in your INI files, regenerate legacy autoloads and clear legacy caches.
eZ Platform admin interface is available in standard /ez
route. Use the Sylius admin username and password to login.
If you didn't change any parameters while running composer install
, Sylius shop will be available at /shop
, while Sylius admin interface will be available at /sylius/admin/
. If you don't like these paths, you can change them in app/config/sylius_parameters.yml
.