synolia/sylius-akeneo-plugin

Akeneo 连接器用于 Sylius。

安装次数: 76,425

依赖关系: 0

建议者: 0

安全: 0

星标: 23

关注者: 13

分支: 22

公开问题: 10

类型:sylius-plugin


README

License CI - Analysis CI - Sylius Version Total Downloads

Sylius Akeneo 插件

此插件允许您从 Akeneo PIM 导入数据。

特性

  • 配置您的 Akeneo 账户 - 文档
  • 配置要导入的数据及其导入方式。 - 文档
  • 根据您的业务需求自定义导入。 - 文档
  • 通过 CLI 或后台办公室启动导入 - 文档

要求

安装

  1. 在您的 composer.json 文件中添加捆绑包和依赖项

    composer require synolia/sylius-akeneo-plugin --no-scripts
  2. 通过在 config/bundles.php 文件中添加来启用插件

    Synolia\SyliusAkeneoPlugin\SynoliaSyliusAkeneoPlugin::class => ['all' => true],
  3. 在您的 config/packages/_sylius.yaml 文件中导入所需的配置

    imports:
        - { resource: "@SynoliaSyliusAkeneoPlugin/Resources/config/config.yaml" }
  4. 在您的 config/routes.yaml 文件中导入路由

    synolia_akeneo:
        resource: "@SynoliaSyliusAkeneoPlugin/Resources/config/routes.yaml"
        prefix: '/%sylius_admin.path_name%'
  5. 将 Asset 特性添加到 Product.php 和 ProductVariant.php 实体,并将 TaxonAttributes 特性添加到 Taxon 实体

    <?php
    
    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();
        }
    }
    <?php
    
    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();
        }
    }
    <?php
    
    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. 将插件迁移应用到您的数据库

    bin/console doctrine:migrations:migrate
  7. 清除缓存

    bin/console cache:clear

开发

Akeneo 企业版

参考实体和资产属性类型

许可证

此库受 EUPL-1.2 许可证 保护。

鸣谢

Synolia 开发。