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);
Ваш продукт теперь продублирован и готов к использованию!