我们需要在 Akeneo 1.4 中克隆一个产品(只有 SKU 应该改变)。
我在 Akeneo 论坛中发现了一个类似的问题( 1 , 2 ),但最有趣的部分没有答案:
我应该使用
ProductPropertyCopier
, ProductTemplateBuilder
, ... 为了这?使用
ProductPropertyCopier
时是否需要存在目标属性? ?现在在 Akeneo 1.4 中是否有一种更简单的方法来克隆产品?
最佳答案
Akeneo 没有提供复制产品的原生方式,但这是一个普遍的需求,我们意识到这个问题,我们可能会在 future 优先考虑它。
复制产品的最简单方法是对其进行规范化,然后立即对其进行非规范化:
$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);
您的产品现已复制并可以使用!
关于Akeneo:克隆产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33823406/