我正在使用一個在Magento EE 1.12上運行的商店。有一天,我們打開了商店,發現所有可配置產品都從類別列表中丟失。我檢查了加載產品的SQL,發現內部加入catalog_product_index_price已使其返回空。Magento EE:目錄中沒有產品_product_index_price
我打開了表格,發現雖然這些可配置產品的兒童簡單產品仍在表格中,但可配置產品卻沒有。
什麼可能導致此問題?
我正在使用一個在Magento EE 1.12上運行的商店。有一天,我們打開了商店,發現所有可配置產品都從類別列表中丟失。我檢查了加載產品的SQL,發現內部加入catalog_product_index_price已使其返回空。Magento EE:目錄中沒有產品_product_index_price
我打開了表格,發現雖然這些可配置產品的兒童簡單產品仍在表格中,但可配置產品卻沒有。
什麼可能導致此問題?
我已經在拆除核心索引器後找到了解決方案。 我發現價格指數工作是通過先運行股票指數和價格指數。問題出在其中一個可配置的產品庫存索引器中。
此索引呈現stock_status存儲在cataloginventory_stock_status_idx爲0。然後,配置產品價格索引來自於配置的產品的,結果發現,這些產品沒有可用的股票,所以它不會邊界重新索引。
因此,解決方法是:
在Mage_CatalogInventory_Model_Resource_Indexer_Stock_Configurable 此行
$adapter->getCheckSql("{$psCond} AND le.required_options = 0", 'i.stock_status', 0);
應該
$adapter->getCheckSql("{$psCond}", 'i.stock_status', 0);
這是有問題的,爲什麼required_options = 0在那裏擺在首位。對我來說意義不大
你好,你如何打開這個文件? –
該文件位於app/code/core/Mage/CatalogInventory/Model/Resource/Stock/Configurable.php下。它按照PHP-FIG PSR0的等級命名。
當您禁用產品並在之後運行價格索引器時,會發生完全相同的情況。 Magento首先計算股票指數,填充表cataloginventory_stock_status_idx。如果一個產品是已禁用它將添加stock_status == 0。 從那時起,這些產品的價格指數將不再計算。
您是否運行多個商店視圖以及所有商店視圖中產品的狀態如何?我們在Magnto 1.12中遇到了同樣的問題,這相當於我相信的1.7個CE。我們的問題是,在管理員/全局級別上,產品被禁用,而在較低的商店視圖級別上啓用。管理員級別上的禁用狀態導致價格索引加入與產品不匹配,導致產品未顯示在店面上。 –