私はプログラムでマゼンタの価格を更新します。この更新後に価格を再インデックスする方法はありますか。今私はSSHコマンドを使用しました:マゼンタ:プログラムによる価格の再インデックス
php indexer.php --reindex catalog_product_price
私はプログラムでマゼンタの価格を更新します。この更新後に価格を再インデックスする方法はありますか。今私はSSHコマンドを使用しました:マゼンタ:プログラムによる価格の再インデックス
php indexer.php --reindex catalog_product_price
以下は、各インデックスを再インデックスします。
for ($i = 1; $i <= 9; $i++) {
$process = Mage::getModel('index/process')->load($i);
$process->reindexAll();
}
forループのidをハードコードするのではなく、Magentoコレクションモデルを使用して各インデックスを読み込むこともできます。
/* @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();
ありがとうDavid – dido
うれしい私はあなたの答えを見つけることができます。 – dmanners
私はループの中で '9'が好きではありません。これに代わるものはありますか? – MatheusJardimB
次のSSHコマンドにあなたを使用することによりすべての索引を再索引付けできます。
php shell/indexer.php reindexall
しかし、あなたは唯一のcatalog_product_priceのインデックスを再作成したい場合、あなたは、コードの下に使用することができます。あなたはSSH経由インデックスを再作成するために関連するすべてのコマンドは、このコマンドを使用することができます
php shell/indexer.php --reindex catalog_product_price
これは彼が何をしているのかを説明するだけです。 OPはそれをプログラム的に行う方法を知りたい。 –
php -f indexer.php help
。
$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();
}
をコードする方法のようなあなたは、あなたがコードの下を通過する必要があれば
php indexer.php -- reindex [process_code]
e.g: php indexer.php --reindex catalog_product_price
者は、SSH経由でありますフラットテーブルを持っていて、なぜ(私が今日したように)プログラムで更新された価格がfrに表示されていないのかどんなにあなたがインデックスを再作成回数ONT終わり、おそらくあなたは価格のインデックスを再作成AFTER平らな製品のインデックスを再作成する必要があります。
php shell/indexer.php reindexall
ノートの順序を:
php shell/indexer.php -reindex catalog_product_price
php shell/indexer.php -reindex catalog_product_flat
あなたは、通常に行う場合インデックスの再作成:
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
...
を製品フラットが価格前にインデックス化され、価格更新はフラットテーブル(IEで更新されませんでしたがFORE catalog_product_flat_2)。フラットテーブルを調べ、プログラムで更新された価格が設定されていることを確認します。
私はまた、n98の順序が正しいことに気付きました。 –
sshコマンドの問題点は何ですか? –