2010-07-28 29 views
1

我已經使用下面顯示的sql將新層價格導入到magento數據庫中,並且當我在管理員中查看產品時,層級是正確的。但是,在前端,層次不會顯示在I後面將產品保存在後端。如何在SQL插入後刷新magento層價格緩存

我已經刪除了var/cache,重建了Catalog Index,刷新庫存庫存狀態(?),甚至嘗試在這些產品上執行批量更新屬性,其中沒有一個似乎刷新了價格緩存。我無法在產品實體表中找到與層級定價相關的任何價值。

我看到有在Mage_CatalogIndex一個Price對象,它讓我覺得它需要刷新......

我使用的Magento v1.3.2.4,並有幾百SKU的我,我不」不想手動在後端保存!

insert ignore into `catalog_product_entity_tier_price` (all_groups, customer_group_id, qty, entity_id, `value`) select '0','5','12',entity_id,'10' from `catalog_product_entity` where category_ids = 3; 

歡迎任何建議。

感謝, JD

+0

爲了澄清,層級價格在產品view.phtml上正確顯示,但不在類別list.phtml上... – 2010-07-28 14:00:26

+0

最後一個註釋 - 我試着編寫一個操作,以獲取'catalog/product'然後走路('保存')編輯集合,但沒有骰子。看起來你不能保存一個簡單的產品,它需要設置一些屬性。太難。也許我應該寫一個像荒謬風格的硒劇本...... – 2010-07-29 23:06:11

回答

1

我不知道如果試圖這樣的事情會有幫助嗎?

$productsForCatalogIndexUpdate = array(123,1231); //Add your product ids here 
if (count($productsForCatalogIndexUpdate)) { 
    Mage::log("About to update the catalog price index on the following products " . join(', ', $productsForCatalogIndexUpdate)); 
    Mage::getModel('catalogindex/indexer')->plainReindex(
    $productsForCatalogIndexUpdate, 
    Mage_CatalogIndex_Model_Indexer::REINDEX_TYPE_PRICE 
); 
    Mage::getModel("catalogindex/observer")->clearPriceAggregation(); 
} 

如果我沒有記錯,它會重建指定價格的價格指數表。