/** * Return if attribute exists in original data array. * Checks also attribute's store scope: * We should insert on duplicate key update values if we unchecked 'STORE VIEW' checkbox in store view. * * @param AbstractAttribute $attribute * @param mixed $value New value of the attribute. * @param array &$origData * @return bool */ protected function _canUpdateAttribute(AbstractAttribute $attribute, $value, array &$origData) { $result = parent::_canUpdateAttribute($attribute, $value, $origData); if ($result && ($attribute->isScopeStore() || $attribute->isScopeWebsite()) && !$this->_isAttributeValueEmpty($attribute, $value) && $value == $origData[$attribute->getAttributeCode()] && isset($origData['store_id']) && $origData['store_id'] != $this->getDefaultStoreId()) { return false; } return $result; }