2010-07-28 25 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(); 
} 

如果我没有记错,它会重建指定价格的价格指数表。