【发布时间】:2013-10-08 10:14:23
【问题描述】:
我想知道是否有办法更新一个或多个产品的 magento 索引。例如,我有 100 种产品,我刚刚以编程方式更新了价格……现在我需要启动索引器,以便它重新索引这 100 种产品的价格。所以只是为了清楚......
我知道可以简单地刷新所有产品的一个索引。例如,这将刷新所有产品的定价索引:
$process = Mage::getSingleton('index/indexer')->getProcessByCode('catalog_product_price');
$process->reindexEverything();
而且我也知道可以只刷新一个产品(或多个产品,如果您在循环中执行此操作)上的所有索引:
Mage::getSingleton('index/indexer')->processEntityAction(
$product, Mage_Catalog_Model_Product::ENTITY,
Mage_Index_Model_Event::TYPE_SAVE
);
但是,这些选项都不适合我。我需要能够做这两个的横截面。如何获取一种或多种产品,只刷新一个指数,例如价格指数?
我正在使用 Magento CE 1.6.2.0。
编辑:顺便说一句,在 Magento 1.3 上,我可以通过执行以下操作来完成此操作,但这似乎不再起作用了。
Mage::getModel('catalogindex/indexer')->plainReindex(
$listOfProductIds,
Mage_CatalogIndex_Model_Indexer::REINDEX_TYPE_PRICE
);
【问题讨论】:
标签: magento