/** * Initialize attribute value for object * * @param \Magento\Catalog\Model\AbstractModel $object * @param array $valueRow * @return $this */ protected function _setAttributeValue($object, $valueRow) { $attribute = $this->getAttribute($valueRow['attribute_id']); if ($attribute) { $attributeCode = $attribute->getAttributeCode(); $isDefaultStore = $valueRow['store_id'] == $this->getDefaultStoreId(); if (isset($this->_attributes[$valueRow['attribute_id']])) { if ($isDefaultStore) { $object->setAttributeDefaultValue($attributeCode, $valueRow['value']); } else { $object->setAttributeDefaultValue($attributeCode, $this->_attributes[$valueRow['attribute_id']]['value']); } } else { $this->_attributes[$valueRow['attribute_id']] = $valueRow; } $value = $valueRow['value']; $valueId = $valueRow['value_id']; $object->setData($attributeCode, $value); if (!$isDefaultStore) { $object->setExistsStoreValueFlag($attributeCode); } $attribute->getBackend()->setEntityValueId($object, $valueId); } return $this; }
public function testSetGetExistsStoreValueFlag() { $this->assertFalse($this->_model->getExistsStoreValueFlag('key')); $this->_model->setExistsStoreValueFlag('key'); $this->assertTrue($this->_model->getExistsStoreValueFlag('key')); }