/** * Check default value usage fact * * @param Mage_Eav_Model_Entity_Attribute $attribute * @return bool */ public function usedDefault($attribute) { $attributeCode = $attribute->getAttributeCode(); $defaultValue = $this->getDataObject()->getAttributeDefaultValue($attributeCode); if (!$this->getDataObject()->getExistsStoreValueFlag($attributeCode)) { return true; } else { if ($this->getValue() == $defaultValue && $this->getDataObject()->getStoreId() != $this->_getDefaultStoreId()) { return false; } } if ($defaultValue === false && !$attribute->getIsRequired() && $this->getValue()) { return false; } return $defaultValue === false; }
/** * Retrieves attribute value * * @param array $row * @param Mage_Eav_Model_Entity_Attribute $attribute * @return mixed|null */ protected function _getAttributeValue($row, $attribute) { if (isset($row[$attribute->getAttributeCode()]) && !is_array($row[$attribute->getAttributeCode()])) { $value = $row[$attribute->getAttributeCode()]; } elseif ($attribute->getIsRequired() && $attribute->getDefaultValue() !== null && $attribute->getDefaultValue() !== '' && !is_array($attribute->getDefaultValue())) { $value = $attribute->getDefaultValue(); } else { $value = null; } if ($attribute->usesSource() && $value !== null) { if ($attribute->getSource() instanceof Mage_Eav_Model_Entity_Attribute_Source_Abstract) { $value = $attribute->getSource()->getOptionId($value); } else { $value = $this->_getOptionIdNonAttributeSource($attribute->getSource()->getAllOptions(), $value); } } return $value; }