コード例 #1
0
ファイル: Filter.php プロジェクト: hirentricore/devmagento
 /**
  * Select field filter HTML with selected value.
  *
  * @param Mage_Eav_Model_Entity_Attribute $attribute
  * @param mixed $value
  * @return string
  */
 protected function _getSelectHtmlWithValue(Mage_Eav_Model_Entity_Attribute $attribute, $value)
 {
     if ($attribute->getFilterOptions()) {
         $options = array();
         foreach ($attribute->getFilterOptions() as $value => $label) {
             $options[] = array('value' => $value, 'label' => $label);
         }
     } else {
         $options = $attribute->getSource()->getAllOptions(false);
     }
     if ($size = count($options)) {
         // add empty vaue option
         $firstOption = reset($options);
         if ('' === $firstOption['value']) {
             $options[key($options)]['label'] = '';
         } else {
             array_unshift($options, array('value' => '', 'label' => ''));
         }
         $selectBlock = new Mage_Core_Block_Html_Select(array('name' => $this->getFilterElementName($attribute->getAttributeCode()), 'id' => $this->getFilterElementId($attribute->getAttributeCode()), 'class' => 'select', 'extra_params' => 'style="width:280px"'));
         return $selectBlock->setOptions($options)->setValue($value)->getHtml();
     } else {
         return $this->_helper->__('Attribute does not has options, so filtering is impossible');
     }
 }
コード例 #2
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'));
     }
 }
コード例 #3
0
ファイル: Filter.php プロジェクト: natxetee/magento2
 /**
  * Select field filter HTML with selected value.
  *
  * @param Mage_Eav_Model_Entity_Attribute $attribute
  * @param mixed $value
  * @return string
  */
 protected function _getSelectHtmlWithValue(Mage_Eav_Model_Entity_Attribute $attribute, $value)
 {
     if ($attribute->getFilterOptions()) {
         $options = array();
         foreach ($attribute->getFilterOptions() as $value => $label) {
             $options[] = array('value' => $value, 'label' => $label);
         }
     } else {
         $options = $attribute->getSource()->getAllOptions(false);
     }
     if ($size = count($options)) {
         // add empty vaue option
         $firstOption = reset($options);
         if ('' === $firstOption['value']) {
             $options[key($options)]['label'] = '';
         } else {
             array_unshift($options, array('value' => '', 'label' => ''));
         }
         $arguments = array('name' => $this->getFilterElementName($attribute->getAttributeCode()), 'id' => $this->getFilterElementId($attribute->getAttributeCode()), 'class' => 'select select-export-filter');
         /** @var $selectBlock Mage_Core_Block_Html_Select */
         $selectBlock = $this->_layout->getBlockFactory()->createBlock('Mage_Core_Block_Html_Select', $arguments);
         return $selectBlock->setOptions($options)->setValue($value)->getHtml();
     } else {
         return Mage::helper('Mage_ImportExport_Helper_Data')->__('Attribute does not has options, so filtering is impossible');
     }
 }