我以編程方式更新magento中的價格。如何在此更新後重新索引價格。現在我使用了SSH命令:MAGENTO:以編程方式編織價格
php indexer.php --reindex catalog_product_price
我以編程方式更新magento中的價格。如何在此更新後重新索引價格。現在我使用了SSH命令:MAGENTO:以編程方式編織價格
php indexer.php --reindex catalog_product_price
以下將重新索引每個索引。
for ($i = 1; $i <= 9; $i++) {
$process = Mage::getModel('index/process')->load($i);
$process->reindexAll();
}
您也可以使用Magento的收集模型加載每個索引,而不是硬編碼的ID在for循環。
/* @var $indexCollection Mage_Index_Model_Resource_Process_Collection */
$indexCollection = Mage::getModel('index/process')->getCollection();
foreach ($indexCollection as $index) {
/* @var $index Mage_Index_Model_Process */
$index->reindexAll();
}
但是如果你想重新索引只是價格的ID爲2
$process = Mage::getModel('index/process')->load(2);
$process->reindexAll();
你也可以調用該函數getProcessByCode如下:
$process = Mage::getModel('index/indexer')->getProcessByCode('catalog_product_price');
$process->reindexAll();
謝謝大衛 – dido 2013-02-12 08:42:40
很高興我能爲你找到答案。 – dmanners 2013-02-12 08:59:26
我不喜歡循環中的'9'。你有替代嗎? – MatheusJardimB 2013-12-28 02:06:51
通過使用以下SSH命令你可以重新索引所有索引。
php shell/indexer.php reindexall
但是,如果您只想重新索引catalog_product_price,那麼您可以使用下面的代碼。
php shell/indexer.php --reindex catalog_product_price
這只是解釋他已經在做什麼。 OP想知道如何以編程方式進行。 – 2015-10-02 01:43:18
php -f indexer.php help
您可以通過SSH,以重新編制相關的所有命令中使用此命令。
php indexer.php -- reindex [process_code]
e.g: php indexer.php --reindex catalog_product_price
這些都是通過SSH,如果你喜歡的編碼方式,那麼你必須要經過下面的代碼:
$indexer = Mage::getModel('index/indexer')->getProcessByCode('catalog_product_price')
$indexer->reindexEverything();
或做到這一點:
for ($i = 0; $i <= 8; $i++) {
$process = Mage::getModel('index/process')->load($i);
$process->reindexAll();
}
如果您有扁平桌上,並想知道爲什麼(如我今天所做的)程序更新的價格不顯示在fr上ONT不管到底有多少次你重新索引,則很可能需要重新索引產品平後,您重新索引的價格:如果你做一個正常的
php shell/indexer.php -reindex catalog_product_price
php shell/indexer.php -reindex catalog_product_flat
:
php shell/indexer.php reindexall
注意的順序reindexing:
Category Flat Data index was rebuilt successfully in 00:00:00
Product Flat Data index was rebuilt successfully in 00:00:00
Stock Status index was rebuilt successfully in 00:00:00
Catalog product price index was rebuilt successfully in 00:00:00
...
產品平面索引在價格之前,那裏的價格更新沒有在平板表中更新(即catalog_product_flat_2)。查看平坦表格以確保您的程序更新價格已設置。
我也注意到n98的順序是正確的。 – 2016-02-22 19:48:38
那個ssh命令有什麼問題? – 2013-02-12 08:19:34