コード例 #1
0
ファイル: Data.php プロジェクト: votanlean/Magento-Pruebas
 /**
  * Return attribute data model by attribute
  * Set entity to data model (need for work)
  *
  * @param Mage_Customer_Model_Attribute $attribute
  * @param Mage_Core_Model_Abstract $entity
  * @return Mage_Customer_Model_Attribute_Data_Abstract
  */
 public static function factory(Mage_Customer_Model_Attribute $attribute, Mage_Core_Model_Abstract $entity)
 {
     /* @var $dataModel Mage_Customer_Model_Attribute_Data_Abstract */
     $dataModelClass = $attribute->getDataModel();
     if (!empty($dataModelClass)) {
         if (empty(self::$_dataModels[$dataModelClass])) {
             $dataModel = Mage::getModel($dataModelClass);
             self::$_dataModels[$dataModelClass] = $dataModel;
         } else {
             $dataModel = self::$_dataModels[$dataModelClass];
         }
     } else {
         if (empty(self::$_dataModels[$attribute->getFrontendInput()])) {
             $dataModelClass = sprintf('customer/attribute_data_%s', $attribute->getFrontendInput());
             $dataModel = Mage::getModel($dataModelClass);
             self::$_dataModels[$attribute->getFrontendInput()] = $dataModel;
         } else {
             $dataModel = self::$_dataModels[$attribute->getFrontendInput()];
         }
     }
     $dataModel->setAttribute($attribute);
     $dataModel->setEntity($entity);
     return $dataModel;
 }
コード例 #2
0
ファイル: Form.php プロジェクト: jpbender/mage_virtual
 /**
  * Render attribute row and return HTML
  *
  * @param Mage_Customer_Model_Attribute $attribute
  * @return string
  */
 public function getAttributeHtml(Mage_Customer_Model_Attribute $attribute)
 {
     $type = $attribute->getFrontendInput();
     $block = $this->getRenderer($type);
     if ($block) {
         $block->setAttributeObject($attribute)->setEntity($this->getEntity())->setFieldIdFormat($this->_fieldIdFormat)->setFieldNameFormat($this->_fieldNameFormat);
         return $block->toHtml();
     }
     return false;
 }