SyliusAkeneoPlugin

UNIX name Owner Status
SyliusAkeneoPlugin 7x stable
Version Compatible with
N/A N/A
This Sylius plugin allows you to import data from Akeneo PIM


Sylius Akeneo Plugin


This plugin allow you to import data from Akeneo PIM.

Features

Requirements

 

Version

PHP

^8.0

Sylius

^1.10

Akeneo PIM

>=v6.0

Installation

  1. Add the bundle and dependencies in your composer.json :

    composer require synolia/sylius-akeneo-plugin --no-scripts
  2. Enable the plugin in your config/bundles.php file by add

    Synolia\SyliusAkeneoPlugin\SynoliaSyliusAkeneoPlugin::class => ['all' => true],
  3. Import required config in your config/packages/_sylius.yaml file:

    imports:
    - { resource: "@SynoliaSyliusAkeneoPlugin/Resources/config/config.yaml" }
  4. Import routing in your config/routes.yaml file:

    synolia_akeneo:
    resource: "@SynoliaSyliusAkeneoPlugin/Resources/config/routes.yaml"
    prefix: '/%sylius_admin.path_name%'
  5. Add Asset trait to Product.php and ProductVariant.php entities and add TaxonAttributes trait to Taxon entity


    declare(strict_types=1);

    namespace App\Entity\Product;

    use App\Entity\Product\ProductTranslation;
    use Doctrine\ORM\Mapping as ORM;
    use Sylius\Component\Core\Model\Product as BaseProduct;
    use Sylius\Component\Product\Model\ProductTranslationInterface;
    use Synolia\SyliusAkeneoPlugin\Entity\ProductAssetTrait;

    /**
    * @ORM\Entity
    * @ORM\Table(name="sylius_product")
    */
    #[ORM\Entity]
    #[ORM\Table(name: 'sylius_product')]
    class Product extends BaseProduct
    {
    use ProductAssetTrait {
    __construct as private initializeAssetsCollection;
    }

    public function __construct()
    {
    parent::__construct();
    $this->initializeAssetsCollection();
    }

    protected function createTranslation(): ProductTranslationInterface
    {
    return new ProductTranslation();
    }
    }

    declare(strict_types=1);

    namespace App\Entity\Product;

    use Doctrine\ORM\Mapping as ORM;
    use Sylius\Component\Core\Model\ProductVariant as BaseProductVariant;
    use Sylius\Component\Product\Model\ProductVariantTranslationInterface;
    use Synolia\SyliusAkeneoPlugin\Entity\ProductVariantAssetTrait;

    /**
    * @ORM\Entity
    * @ORM\Table(name="sylius_product_variant")
    */
    #[ORM\Entity]
    #[ORM\Table(name: 'sylius_product_variant')]
    class ProductVariant extends BaseProductVariant
    {
    use ProductVariantAssetTrait {
    ProductVariantAssetTrait::__construct as private initializeAssetsCollection;
    }

    public function __construct()
    {
    parent::__construct();

    $this->initializeAssetsCollection();
    }

    protected function createTranslation(): ProductVariantTranslationInterface
    {
    return new ProductVariantTranslation();
    }
    }

    declare(strict_types=1);

    namespace App\Entity\Taxonomy;

    use Doctrine\ORM\Mapping as ORM;
    use Sylius\Component\Core\Model\Taxon as BaseTaxon;
    use Sylius\Component\Taxonomy\Model\TaxonTranslationInterface;
    use Synolia\SyliusAkeneoPlugin\Component\TaxonAttribute\Model\TaxonAttributeSubjectInterface;
    use Synolia\SyliusAkeneoPlugin\Entity\TaxonAttributesTrait;

    /**
    * @ORM\Entity
    * @ORM\Table(name="sylius_taxon")
    */
    #[ORM\Entity]
    #[ORM\Table(name: 'sylius_taxon')]
    class Taxon extends BaseTaxon implements TaxonAttributeSubjectInterface
    {
    use TaxonAttributesTrait {
    __construct as private initializeTaxonAttributes;
    }

    public function __construct()
    {
    parent::__construct();

    $this->createTranslation();
    $this->initializeTaxonAttributes();
    }

    protected function createTranslation(): TaxonTranslationInterface
    {
    return new TaxonTranslation();
    }
    }
  6. Apply plugin migrations to your database:

    bin/console doctrine:migrations:migrate
  7. Clear cache

    bin/console cache:clear

Development

Akeneo Enterprise Edition

Reference Entity and Asset attribute types

License

This library is under the EUPL-1.2 license.

Credits

Developed by Synolia.

No news yet.

This project has no reviews yet. Be the first one to review it!

No forum messages yet.