/** * Initialize attribute value for object * * @param Mage_Catalog_Model_Abstract $object * @param array $valueRow * @return Mage_Catalog_Model_Resource_Abstract */ 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); } if (Mage::getVersion() > '1.6.2.0') { $attribute->getBackend()->setEntityValueId($object, $valueId); } else { $attribute->getBackend()->setValueId($object, $valueId); } } return $this; }
/** * Initialize attribute value for object * * @param Mage_Catalog_Model_Abstract $object * @param array $valueRow * @return Mage_Eav_Model_Entity_Abstract */ protected function _setAttribteValue($object, $valueRow) { $attribute = $this->getAttribute($valueRow['attribute_id']); if ($attribute) { $attributeCode = $attribute->getAttributeCode(); if (!empty($valueRow['store_value_id'])) { $value = $valueRow['store_value']; $valueId = $valueRow['store_value_id']; $object->setAttributeDefaultValue($attributeCode, $valueRow['value']); } else { $value = $valueRow['value']; $valueId = $valueRow['value_id']; } $object->setData($attributeCode, $value); $attribute->getBackend()->setValueId($valueId); } return $this; }
public function testSetGetAttributeDefaultValue() { $this->assertFalse($this->_model->getAttributeDefaultValue('key')); $this->_model->setAttributeDefaultValue('key', 'value'); $this->assertEquals('value', $this->_model->getAttributeDefaultValue('key')); }
/** * Initialize attribute value for object * * @param Mage_Catalog_Model_Abstract $object * @param array $valueRow * @return Mage_Eav_Model_Entity_Abstract */ protected function _setAttribteValue($object, $valueRow) { $attribute = $this->getAttribute($valueRow['attribute_id']); if ($attribute) { $attributeCode = $attribute->getAttributeCode(); if (isset($this->_attributes[$valueRow['attribute_id']])) { if ($valueRow['store_id'] == $this->getDefaultStoreId()) { $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); $attribute->getBackend()->setValueId($valueId); } return $this; }