Skip to content

Commit dbc2925

Browse files
author
Andrzej Rosiek
committed
fix for category filters which should be hidden but didn't work with flat category collection
1 parent c3019ff commit dbc2925

File tree

2 files changed

+35
-2
lines changed

2 files changed

+35
-2
lines changed

src/app/code/community/IntegerNet/Solr/Model/Observer.php

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,4 +326,28 @@ public function afterFastSimpleImportReindex(Varien_Event_Observer $observer)
326326

327327
Mage::helper('integernet_solr')->factory()->getProductIndexer()->reindex($productIds);
328328
}
329-
}
329+
330+
public function afterFlatCategoryLoadedUseBackendModel(Varien_Event_Observer $observer)
331+
{
332+
if (!Mage::getStoreConfigFlag('integernet_solr/general/is_active')) {
333+
return;
334+
}
335+
336+
/** @var Mage_Catalog_Model_Category $category */
337+
$category = $observer->getCategory();
338+
339+
if (!$category || !$category->getId()) {
340+
return;
341+
}
342+
343+
if (Mage::helper('catalog/category_flat')->isEnabled() && !$category->getResource() instanceof Mage_Catalog_Model_Resource_Category_Flat) {
344+
return;
345+
}
346+
347+
$filtersToRemove = $category->getData('solr_remove_filters');
348+
349+
if ($filtersToRemove && !is_array($filtersToRemove)) {
350+
$category->setData('solr_remove_filters', explode(',', $filtersToRemove));
351+
}
352+
}
353+
}

src/app/code/community/IntegerNet/Solr/etc/config.xml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,15 @@
230230
</review>
231231
</observers>
232232
</catalog_block_product_list_collection>
233+
<catalog_category_load_after>
234+
<observers>
235+
<integernet_solr>
236+
<type>singleton</type>
237+
<class>integernet_solr/observer</class>
238+
<method>afterFlatCategoryLoadedUseBackendModel</method>
239+
</integernet_solr>
240+
</observers>
241+
</catalog_category_load_after>
233242
</events>
234243
</frontend>
235244

@@ -282,4 +291,4 @@
282291
</modules>
283292
</suite>
284293
</phpunit>
285-
</config>
294+
</config>

0 commit comments

Comments
 (0)