Skip to content

ikuzostudio/SyliusRMAPlugin

Repository files navigation

RMA Plugin

Add RMA contact page into Sylius.

/!\ Currently in alpha /!\

Quickstart

$ composer require ikuzostudio/rma-plugin

Add plugin dependencies to your config/bundles.php file:

return [
  // ...
  Ikuzo\SyliusRMAPlugin\IkuzoSyliusRMAPlugin::class => ['all' => true],
];

Import required config in your config/packages/_sylius.yaml file:

# config/packages/_sylius.yaml

imports:
  ...
  - { resource: "@IkuzoSyliusRMAPlugin/Resources/config/app/config.yaml"}

Add routes in config/routes.yaml

# config/routes.yaml

ikuzo_rma_routes:
    resource: "@IkuzoSyliusRMAPlugin/Resources/config/routes.yaml"
    prefix: /{_locale}
    requirements:
        _locale: ^[a-z]{2}(?:_[A-Z]{2})?$

To override existing reasons, in your config/packages/_sylius.yaml file:

# config/packages/_sylius.yaml

ikuzo_sylius_rma:
  reasons:
    damaged: ikuzo_rma.form.reasons.damaged
    wrong_product: ikuzo_rma.form.reasons.wrong_product
    other: ikuzo_rma.form.reasons.other
    ...

Add the RMAChannelInterface to the Channel model and implement it with the RMAChannelTrait

use Ikuzo\SyliusRMAPlugin\Model\RMAChannelInterface;
use Ikuzo\SyliusRMAPlugin\Model\RMAChannelTrait;

class Channel extends BaseChannel implements RMAChannelInterface
{
    use RMAChannelTrait;
}

Create a migration and run it

bin/console make:migration
bin/console doctrine:migration:migrate

Go in the admin panel and enable the RMA for the wanted channels