当前位置: 首页>>代码示例>>PHP>>正文


PHP Attribute::getFilterOptions方法代码示例

本文整理汇总了PHP中Magento\Eav\Model\Entity\Attribute::getFilterOptions方法的典型用法代码示例。如果您正苦于以下问题:PHP Attribute::getFilterOptions方法的具体用法?PHP Attribute::getFilterOptions怎么用?PHP Attribute::getFilterOptions使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Magento\Eav\Model\Entity\Attribute的用法示例。


在下文中一共展示了Attribute::getFilterOptions方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _getSelectHtmlWithValue

 /**
  * Select field filter HTML with selected value.
  *
  * @param Attribute $attribute
  * @param mixed $value
  * @return \Magento\Framework\Phrase|string
  * @SuppressWarnings(PHPMD.UnusedLocalVariable)
  */
 protected function _getSelectHtmlWithValue(Attribute $attribute, $value)
 {
     if ($attribute->getFilterOptions()) {
         $options = [];
         foreach ($attribute->getFilterOptions() as $value => $label) {
             $options[] = ['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, ['value' => '', 'label' => '']);
         }
         $arguments = ['name' => $this->getFilterElementName($attribute->getAttributeCode()), 'id' => $this->getFilterElementId($attribute->getAttributeCode()), 'class' => 'admin__control-select select select-export-filter'];
         /** @var $selectBlock \Magento\Framework\View\Element\Html\Select */
         $selectBlock = $this->_layout->createBlock('Magento\\Framework\\View\\Element\\Html\\Select', '', ['data' => $arguments]);
         return $selectBlock->setOptions($options)->setValue($value)->getHtml();
     } else {
         return __('We can\'t filter an attribute with no attribute options.');
     }
 }
开发者ID:pradeep-wagento,项目名称:magento2,代码行数:34,代码来源:Filter.php

示例2: getAttributeFilterType

 /**
  * 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.'));
     }
 }
开发者ID:hientruong90,项目名称:magento2_installer,代码行数:24,代码来源:Export.php

示例3: _getSelectHtmlWithValue

 /**
  * Select field filter HTML with selected value.
  *
  * @param Attribute $attribute
  * @param mixed $value
  * @return string
  */
 protected function _getSelectHtmlWithValue(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 \Magento\Framework\View\Element\Html\Select */
         $selectBlock = $this->_layout->getBlockFactory()->createBlock('Magento\\Framework\\View\\Element\\Html\\Select', array('data' => $arguments));
         return $selectBlock->setOptions($options)->setValue($value)->getHtml();
     } else {
         return __('Attribute does not has options, so filtering is impossible');
     }
 }
开发者ID:aiesh,项目名称:magento2,代码行数:33,代码来源:Filter.php


注:本文中的Magento\Eav\Model\Entity\Attribute::getFilterOptions方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。