diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute.php b/app/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute.php
index 8f8e9f6bfedfa..806da8f81e29a 100644
--- a/app/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute.php
+++ b/app/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute.php
@@ -478,7 +478,7 @@ protected function _isOriginalIndexable()
$backendType = $this->getOrigData('backend_type');
$frontendInput = $this->getOrigData('frontend_input');
- if ($backendType == 'int' && $frontendInput == 'select') {
+ if ($backendType == 'int' && ($frontendInput == 'select' || $frontendInput == 'boolean')) {
return true;
} elseif ($backendType == 'varchar' && $frontendInput == 'multiselect') {
return true;
diff --git a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.php b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.php
index 5b68730209b40..77836c58d5070 100644
--- a/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.php
+++ b/app/code/Magento/Catalog/Model/ResourceModel/Product/Indexer/Eav/Source.php
@@ -84,7 +84,7 @@ protected function _getIndexableAttributes($multiSelect)
if ($multiSelect == true) {
$select->where('ea.backend_type = ?', 'varchar')->where('ea.frontend_input = ?', 'multiselect');
} else {
- $select->where('ea.backend_type = ?', 'int')->where('ea.frontend_input = ?', 'select');
+ $select->where('ea.backend_type = ?', 'int')->where('ea.frontend_input IN( ? )', ['select', 'boolean']);
}
return $this->getConnection()->fetchCol($select);
diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/js.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/js.phtml
index 8a5f1919f78be..3cbfa0f29d74f 100644
--- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/js.phtml
+++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/attribute/js.phtml
@@ -55,7 +55,7 @@ function bindAttributeInputType()
{
checkOptionsPanelVisibility();
switchDefaultValueField();
- if($('frontend_input') && ($('frontend_input').value=='select' || $('frontend_input').value=='multiselect' || $('frontend_input').value=='price')){
+ if($('frontend_input') && ($('frontend_input').value=='boolean' || $('frontend_input').value=='select' || $('frontend_input').value=='multiselect' || $('frontend_input').value=='price')){
if($('is_filterable') && !$('is_filterable').getAttribute('readonly')){
$('is_filterable').disabled = false;
}
diff --git a/app/code/Magento/LayeredNavigation/Observer/Edit/Tab/Front/ProductAttributeFormBuildFrontTabObserver.php b/app/code/Magento/LayeredNavigation/Observer/Edit/Tab/Front/ProductAttributeFormBuildFrontTabObserver.php
index 6b64610caf5ed..fc1edeb1e2392 100644
--- a/app/code/Magento/LayeredNavigation/Observer/Edit/Tab/Front/ProductAttributeFormBuildFrontTabObserver.php
+++ b/app/code/Magento/LayeredNavigation/Observer/Edit/Tab/Front/ProductAttributeFormBuildFrontTabObserver.php
@@ -54,8 +54,8 @@ public function execute(\Magento\Framework\Event\Observer $observer)
[
'name' => 'is_filterable',
'label' => __("Use in Layered Navigation"),
- 'title' => __('Can be used only with catalog input type Dropdown, Multiple Select and Price'),
- 'note' => __('Can be used only with catalog input type Dropdown, Multiple Select and Price.'),
+ 'title' => __('Can be used only with catalog input type Yes/No, Dropdown, Multiple Select and Price'),
+ 'note' => __('Can be used only with catalog input type Yes/No, Dropdown, Multiple Select and Price.'),
'values' => [
['value' => '0', 'label' => __('No')],
['value' => '1', 'label' => __('Filterable (with results)')],
@@ -70,8 +70,8 @@ public function execute(\Magento\Framework\Event\Observer $observer)
[
'name' => 'is_filterable_in_search',
'label' => __("Use in Search Results Layered Navigation"),
- 'title' => __('Can be used only with catalog input type Dropdown, Multiple Select and Price'),
- 'note' => __('Can be used only with catalog input type Dropdown, Multiple Select and Price.'),
+ 'title' => __('Can be used only with catalog input type Yes/No, Dropdown, Multiple Select and Price'),
+ 'note' => __('Can be used only with catalog input type Yes/No, Dropdown, Multiple Select and Price.'),
'values' => $this->optionList->toOptionArray(),
]
);
diff --git a/app/code/Magento/LayeredNavigation/view/adminhtml/ui_component/product_attribute_add_form.xml b/app/code/Magento/LayeredNavigation/view/adminhtml/ui_component/product_attribute_add_form.xml
index 000e10197af1b..0d7476081d19e 100644
--- a/app/code/Magento/LayeredNavigation/view/adminhtml/ui_component/product_attribute_add_form.xml
+++ b/app/code/Magento/LayeredNavigation/view/adminhtml/ui_component/product_attribute_add_form.xml
@@ -11,6 +11,7 @@
-
-
+
- boolean
- select
- multiselect
- price
@@ -19,7 +20,7 @@
- Can be used only with catalog input type Dropdown, Multiple Select and Price.
+ Can be used only with catalog input type Yes/No (Boolean), Dropdown, Multiple Select and Price.
string
is_filterable
@@ -36,6 +37,7 @@
-
-
+
- boolean
- select
- multiselect
- price
@@ -45,7 +47,7 @@
- Can be used only with catalog input type Dropdown, Multiple Select and Price.
+ Can be used only with catalog input type Yes/No (Boolean), Dropdown, Multiple Select and Price.
is_filterable_in_search
diff --git a/app/code/Magento/Swatches/view/adminhtml/web/js/product-attributes.js b/app/code/Magento/Swatches/view/adminhtml/web/js/product-attributes.js
index 01411523108cf..46083cd9fb4cc 100644
--- a/app/code/Magento/Swatches/view/adminhtml/web/js/product-attributes.js
+++ b/app/code/Magento/Swatches/view/adminhtml/web/js/product-attributes.js
@@ -45,7 +45,7 @@ define([
get tabsFront() {
return this.attrTabsFront.length ? this.attrTabsFront.closest('li') : $('#front_fieldset-wrapper');
},
- selectFields: ['select', 'multiselect', 'price', 'swatch_text', 'swatch_visual'],
+ selectFields: ['boolean', 'select', 'multiselect', 'price', 'swatch_text', 'swatch_visual'],
/**
* @this {swatchProductAttributes}