当尝试将范围从“商店视图”更改为被用作超级属性的属性的“全局”时,我会收到此错误消息:

“不得更改范围,因为该属性用于可配置的产品中。”

我知道可能有充分的理由,有人可以向我解释一下这背后的逻辑吗?

有帮助吗?

解决方案

商店视图范围意味着您可以具有默认范围(全局)的值和商店视图的不同值。

您有以下情况:

Store view: Global Scope Value, Store View Value:

store view 1: A,B

store view 2: A,C

如果将范围从商店视图更改为全局,并且拥有已经具有值集的产品,那么Magento就不知道该如何处理这些值。我们应该保留什么价值? A(全局一个),b(商店视图一)。这就是为什么您收到消息的原因。

该检查在mage_catalog_model_resource_eav_attribute :: _ _ beforesave():

[...]
     if (($this->_data['is_global'] != $this->_origData['is_global'])
                && $this->_getResource()->isUsedBySuperProducts($this)) {
                Mage::throwException(Mage::helper('catalog')->__('Scope must not be changed, because the attribute is used in configurable products.'));
            }
[...]

您确实有以下选项:

  • 如果您还没有使用该属性,请删除并再次创建它
  • 如果您正在使用它,请创建一个新的,然后使用导入/导出来更新值
许可以下: CC-BY-SA归因
scroll top