コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
 /**
  * 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();
     }
 }
コード例 #3
0
 /**
  * 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;
 }
コード例 #4
0
 /**
  * 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'));
     }
 }
コード例 #5
0
ファイル: Configurable.php プロジェクト: arslbbt/mangentovies
 /**
  * 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;
 }