/** * Checkin attribute availability for create superproduct * * @param Mage_Eav_Model_Entity_Attribute $attribute * @return bool */ public function canUseAttribute(Mage_Eav_Model_Entity_Attribute $attribute) { $allow = $attribute->getIsGlobal() == Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL && $attribute->getIsVisible() && $attribute->getIsConfigurable() && $attribute->usesSource() && $attribute->getIsUserDefined(); return $allow; }
/** * Get attribute type for upcoming validation. * * @param Mage_Eav_Model_Entity_Attribute $attribute * @return string */ public static function getAttributeType(Mage_Eav_Model_Entity_Attribute $attribute) { if ($attribute->usesSource()) { return $attribute->getFrontendInput() == 'multiselect' ? 'multiselect' : 'select'; } elseif ($attribute->isStatic()) { return $attribute->getFrontendInput() == 'date' ? 'datetime' : 'varchar'; } else { return $attribute->getBackendType(); } }
/** * 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; }
/** * Determine filter type for specified attribute. * * @static * @param Mage_Eav_Model_Entity_Attribute $attribute * @throws Exception * @return string */ public static function getAttributeFilterType(Mage_Eav_Model_Entity_Attribute $attribute) { if ($attribute->usesSource() || $attribute->getFilterOptions()) { return self::FILTER_TYPE_SELECT; } elseif ('datetime' == $attribute->getBackendType()) { return self::FILTER_TYPE_DATE; } elseif ('decimal' == $attribute->getBackendType() || 'int' == $attribute->getBackendType()) { return self::FILTER_TYPE_NUMBER; } elseif ($attribute->isStatic() || 'varchar' == $attribute->getBackendType() || 'text' == $attribute->getBackendType()) { return self::FILTER_TYPE_INPUT; } else { Mage::throwException(Mage::helper('importexport')->__('Can not determine attribute filter type')); } }
/** * Checkin attribute availability for create superproduct * * @param Mage_Eav_Model_Entity_Attribute $attribute * @return bool */ public function canUseAttribute(Mage_Eav_Model_Entity_Attribute $attribute) { $allow = $attribute->getIsGlobal() && $attribute->getIsVisible() && $attribute->getIsConfigurable() && $attribute->usesSource(); return $allow; }