首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Akeneo2.1.4:为什么Akeneo不允许您改变家庭变体?

Akeneo2.1.4:为什么Akeneo不允许您改变家庭变体?
EN

Stack Overflow用户
提问于 2018-02-26 15:56:11
回答 1查看 774关注 0票数 1

当我将新产品模型导入Akeneo并想要更改家庭变体时,我得到以下消息:

代码语言:javascript
复制
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来绕过这个异常:

代码语言:javascript
复制
/**
 * @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团队的某个人能回答这个问题)

  • ,为什么不允许我改变家庭变体?
  • 不管怎样,做这件事可能会产生什么副作用?
EN

回答 1

Stack Overflow用户

发布于 2018-03-16 08:08:49

这个特性实际上存在于Akeneo待办事项中(但没有ETA )。

更改产品模型的家族变体是一种巨大的目录影响,需要进行大量检查:

  • 您应该确保(至少)家族变体来自,与以前的家族相同。
  • 那么来自以前的父的值呢?
  • 一个作业应该运行,递归地编辑的每一个(其后代),以应用新的值/家庭变体的更改。
  • 如果新的家族变量有而不是相同的变体级别的计数,该怎么办?
  • (还有一个更多的用例.)

由于所有这些原因,目前还不可能更新产品模型的系列变体。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48992287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档