当我将新产品模型导入Akeneo并且我想更改系列变体时,我收到以下消息:
15:25:11 WARNING [batch] The Pim\Component\Connector\Processor\Denormalization\ProductModelProcessor was unable to handle the following item:
[family_variant => name_of_family_variant]
(REASON: family_variant: Property "family_variant" cannot be modified, "name_of_family_variant" given.) [] []
现在我可以通过扩展Pim\Component\Catalog\Updater\ProductModelUpdater
来绕过这个例外:
/**
* @param ProductModelInterface $productModel
* @param array $data
* @param array $options
* @return $this|\Akeneo\Component\StorageUtils\Updater\ObjectUpdaterInterface
*/
public function update($productModel, array $data, array $options = [])
{
try {
return parent::update($productModel, $data, $options);
} catch (ImmutablePropertyException $exception) {
// Allow changing of the family_variant field for a product model
if ($exception->getPropertyName() === 'family_variant') {
if ($familyVariant = $this->familyVariantRepository->findOneByIdentifier($exception->getPropertyValue())) {
$productModel->setFamilyVariant($familyVariant);
}
}
return $this;
}
}
但是我想知道(也许Akeneo团队的某个人可以回答这个问题)
答案 0 :(得分:1)
此功能实际上是Akeneo积压(尽管没有ETA) 更改产品模型的系列变体会产生巨大的目录影响,需要进行大量检查:
由于所有这些原因,目前无法更新产品型号的系列变体尚未。