Find the Exponential Software extensions you want
UNIX name | Owner | Status |
---|---|---|
SyliusAkeneoPlugin | 7x | stable |
Version | Compatible with |
---|---|
N/A | N/A |
This plugin allow you to import data from Akeneo PIM.
Version | |
---|---|
PHP |
^8.0 |
Sylius |
^1.10 |
Akeneo PIM |
>=v6.0 |
Add the bundle and dependencies in your composer.json :
composer require synolia/sylius-akeneo-plugin --no-scripts
Enable the plugin in your config/bundles.php file by add
Synolia\SyliusAkeneoPlugin\SynoliaSyliusAkeneoPlugin::class => ['all' => true],
Import required config in your config/packages/_sylius.yaml file:
imports:
- { resource: "@SynoliaSyliusAkeneoPlugin/Resources/config/config.yaml" }
Import routing in your config/routes.yaml file:
synolia_akeneo:
resource: "@SynoliaSyliusAkeneoPlugin/Resources/config/routes.yaml"
prefix: '/%sylius_admin.path_name%'
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();
}
}
Apply plugin migrations to your database:
bin/console doctrine:migrations:migrate
Clear cache
bin/console cache:clear
This library is under the EUPL-1.2 license.
Developed by Synolia.