Skip to content

Commit d30696e

Browse files
committed
#12717 - Catalog Products List widget is not displayed on Storefront
1 parent 169b3eb commit d30696e

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

app/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,17 @@ public function afterSave()
230230
return parent::afterSave();
231231
}
232232

233+
/**
234+
* Is attribute enabled for flat indexing
235+
*
236+
* @return bool
237+
*/
238+
public function isEnabledInFlat()
239+
{
240+
return $this->_isEnabledInFlat();
241+
}
242+
243+
233244
/**
234245
* Is attribute enabled for flat indexing
235246
*

app/code/Magento/CatalogWidget/Model/Rule/Condition/Product.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,17 @@ public function addToCollection($collection)
119119
$attribute = $this->getAttributeObject();
120120

121121
if ($collection->isEnabledFlat()) {
122-
$alias = array_keys($collection->getSelect()->getPart('from'))[0];
123-
$this->joinedAttributes[$attribute->getAttributeCode()] = $alias . '.' . $attribute->getAttributeCode();
122+
if ($attribute->isEnabledInFlat()) {
123+
$alias = array_keys($collection->getSelect()->getPart('from'))[0];
124+
$this->joinedAttributes[$attribute->getAttributeCode()] = $alias . '.' . $attribute->getAttributeCode();
125+
} else {
126+
$alias = 'at_' . $attribute->getAttributeCode();
127+
if (!in_array($alias, array_keys($collection->getSelect()->getPart('from')))) {
128+
$collection->joinAttribute($attribute->getAttributeCode(), 'catalog_product/'.$attribute->getAttributeCode(), 'entity_id');
129+
}
130+
131+
$this->joinedAttributes[$attribute->getAttributeCode()] = $alias . '.value';
132+
}
124133
return $this;
125134
}
126135

0 commit comments

Comments
 (0)