Akeneo: клонировать продукт

Нам нужно клонировать продукт в Akeneo 1.4 (только SKU должен измениться).

Я нашел похожие вопросы ( 1, 2) на форуме Akeneo, но нет ответа на самые интересные части:

  • клонированный продукт (PimCatalogProduct)
  • список значений продукта клонирования (PimCatalogProductValue) и атрибуты
  • ...

Должен ли я использовать ProductPropertyCopier, ProductTemplateBuilder,... за это?

Должны ли целевые атрибуты уже существовать при использованииProductPropertyCopier?

Есть ли сейчас в Akeneo 1.4 более простой способ клонирования продукта?

1 ответ

Решение

У Akeneo нет собственного способа дублирования продуктов, но это общая необходимость, и мы знаем об этой проблеме, и мы можем расставить приоритеты в будущем.

Самый простой способ продублировать продукт - это нормализовать и денормализовать его сразу после этого:

$normalizedProduct = $this->serializer->normalize($sourceProduct, 'csv');
$duplicatedProduct = $this->serializer->denormalize(
    $normalizedProduct,
    'Pim\Bundle\CatalogBundle\Model\Product',
    'csv',
    [
         'entity' => new Pim\Bundle\CatalogBundle\Model\Product()
    ]
);

// You can now modify the product identifier :)

$this->productSaver->save($duplicatedProduct);

Ваш продукт теперь продублирован и готов к использованию!

Другие вопросы по тегам