我将 Magento 中的目录搜索引擎更改为使用 Apache Solr,它运行良好(在对现有扩展进行一些调整之后)。
但是,“搜索结果”页面左侧的“分层导航”(也称为“分面”或“搜索过滤器”)显示每个类别的产品计数错误。
示例:如果我进行的搜索只返回 10 个结果,结果本身很好,但我的过滤器显示了数百个产品而不是 10 个或更少,即大概是我目录中的所有产品。
我正在使用影响过滤器的扩展“Amasty Shop By”,但是在浏览了代码之后,据我所见,它是从正常的 Magento 函数中获取过滤器项目的:
class Amasty_Shopby_Block_Catalog_Layer_Filter_Attribute extends Mage_Catalog_Block_Layer_Filter_Attribute
{
// Code removed ...
public function getItemsAsArray()
{
$items = array();
// ↓↓↓↓↓↓↓↓↓ Right here ↓↓↓↓↓↓↓↓↓
foreach (parent::getItems() as $itemObject) {
// Code removed ...
}
}
}
我在这里用红色谈论这些计数:
一如既往地感谢任何帮助。