File tree Expand file tree Collapse file tree 2 files changed +25
-2
lines changed
CatalogWidget/Model/Rule/Condition
Catalog/Model/ResourceModel/Eav Expand file tree Collapse file tree 2 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -230,6 +230,16 @@ 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+
233243 /**
234244 * Is attribute enabled for flat indexing
235245 *
Original file line number Diff line number Diff line change @@ -119,8 +119,21 @@ 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 (
129+ $ attribute ->getAttributeCode (),
130+ 'catalog_product/ ' .$ attribute ->getAttributeCode (),
131+ 'entity_id '
132+ );
133+ }
134+
135+ $ this ->joinedAttributes [$ attribute ->getAttributeCode ()] = $ alias . '.value ' ;
136+ }
124137 return $ this ;
125138 }
126139
You can’t perform that action at this time.
0 commit comments