本文整理汇总了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.');
}
}
示例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.'));
}
}
示例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');
}
}