Ejemplo n.º 1
0
 /**
  * Return attribute data model by attribute
  * Set entity to data model (need for work)
  *
  * @param Mage_Eav_Model_Attribute $attribute
  * @param Mage_Core_Model_Abstract $entity
  * @return Mage_Eav_Model_Attribute_Data_Abstract
  */
 public static function factory(Mage_Eav_Model_Attribute $attribute, Mage_Core_Model_Abstract $entity)
 {
     /* @var $dataModel Mage_Eav_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('eav/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;
 }
Ejemplo n.º 2
0
 /**
  * Render attribute row and return HTML
  *
  * @param Mage_Eav_Model_Attribute $attribute
  * @return string
  */
 public function getAttributeHtml(Mage_Eav_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;
 }
Ejemplo n.º 3
0
 /**
  * Render attribute row and return HTML
  *
  * @param Mage_Eav_Model_Attribute $attribute
  * @return string
  */
 public function getAttributeHtml(Mage_Eav_Model_Attribute $attribute)
 {
     $showOnGuest = TRUE;
     $setup = new Mage_Eav_Model_Entity_Setup('core_setup');
     $entityTypeId = $setup->getEntityTypeId('customer');
     if ($attribute->getEntityTypeId() == $entityTypeId) {
         $collection = Mage::getModel('customerattribute/customerattribute')->getCollection()->addFieldToFilter('attribute_id', $attribute->getAttributeId())->getFirstItem();
         if ($collection->getShowOnCheckoutRegisterGuest() == 0) {
             $showOnGuest = FALSE;
         }
     }
     $type = $attribute->getFrontendInput();
     $block = $this->getRenderer($type);
     if ($block) {
         $block->setAttributeObject($attribute)->setEntity($this->getEntity())->setFieldIdFormat($this->_fieldIdFormat)->setFieldNameFormat($this->_fieldNameFormat)->setShowOnGuest($showOnGuest);
         return $block->toHtml();
     }
     return false;
 }