如何在sql插入后刷新magento tier price缓存

时间:2010-07-28 05:27:31

标签: caching magento refresh

我使用下面显示的sql将新的层级价格导入magento数据库,当我在管理员中查看产品时,层是正确的。但是,在前端,我不会在后端保存产品下显示层。

我删除了var / cache,重建了目录索引,刷新了库存状态(?),甚至尝试对这些产品进行批量更新属性,这些都没有刷新价格缓存。我在产品实体表中找不到与层级定价相关的任何价值进行调整。

我发现Price中有一个Mage_CatalogIndex对象让我觉得它需要刷新......

我正在使用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

1 个答案:

答案 0 :(得分: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();
}

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