Consumes messages produced by Sylake/AkeneoProducerBundle.
Clone or download
pjedrzejewski Merge pull request #39 from pamil/road-to-hell
Maintenance + stable Sylius support
Latest commit 35726d6 Nov 10, 2017

README.md

SyliusConsumerPlugin

Installation

  1. Require this package:
$ composer require sylake/sylius-consumer-plugin
  1. Add bundles to AppKernel.php of existing Sylius application:
public function registerBundles()
{
    $bundles = [
        new \SimpleBus\SymfonyBridge\SimpleBusCommandBusBundle(),
        new \SimpleBus\SymfonyBridge\SimpleBusEventBusBundle(),
        new \OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
        new \SyliusLabs\RabbitMqSimpleBusBundle\RabbitMqSimpleBusBundle(),
        new \Sylake\SyliusConsumerPlugin\SylakeSyliusConsumerPlugin(),
    ];

    return array_merge(parent::registerBundles(), $bundles);
}
  1. Configure RabbitMQ default connection:
# app/config/config.yml

old_sound_rabbit_mq:
    connections:
        default:
            host: 'localhost'
            port: 5672
            user: 'guest'
            password: 'guest'

Usage

  1. Run the following command to listen for messages and consume them:
$ bin/console rabbitmq:consumer sylake

Extending product projector

Adding a product postprocessor allows to change product before saving it.

  1. Create a class which implements Sylake\SyliusConsumerPlugin\Projector\Product\ProductPostprocessorInterface.

  2. Define it as a service with tag sylake_sylius_consumer.projector.product.postprocessor.

  3. 🎉