Example #1
0
 /**
  * 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'));
 }