Esempio n. 1
0
 /**
  * Determine filter type for specified attribute.
  *
  * @static
  * @param \Magento\Eav\Model\Entity\Attribute $attribute
  * @return string
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 public static function getAttributeFilterType(\Magento\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 ('varchar' == $attribute->getBackendType() || 'text' == $attribute->getBackendType()) {
         return self::FILTER_TYPE_INPUT;
     } elseif ($attribute->isStatic()) {
         return self::getStaticAttributeFilterType($attribute);
     } else {
         throw new \Magento\Framework\Exception\LocalizedException(__('We can\'t determine the attribute filter type.'));
     }
 }