-
16-10-2019 - |
题
当尝试将范围从“商店视图”更改为被用作超级属性的属性的“全局”时,我会收到此错误消息:
“不得更改范围,因为该属性用于可配置的产品中。”
我知道可能有充分的理由,有人可以向我解释一下这背后的逻辑吗?
解决方案
商店视图范围意味着您可以具有默认范围(全局)的值和商店视图的不同值。
您有以下情况:
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.'));
}
[...]
您确实有以下选项:
- 如果您还没有使用该属性,请删除并再次创建它
- 如果您正在使用它,请创建一个新的,然后使用导入/导出来更新值