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 ...
}
}
}
これらのカウントについて話しているのは、ここで赤で示したものです。
いつものように、どんな助けも大歓迎です。