Jika Anda memperbarui opsi stok produk, Anda dapat mengindeks ulang tabel "Status Stok" secara terprogram:
try {
$indexer = Mage::getModel('index/indexer')->getProcessByCode('cataloginventory_stock');
$indexer->reindexEverything();
} catch (Exception $e) {
//Some error handling
}
Untuk mendapatkan penggunaan model pengindeks Mage::getModel('index/indexer')->getProcessByCode('some_indexer_code_given_below')
. Magento menyediakan beberapa pengindeks. Jika Anda memperbarui produk secara terprogram Anda dapat menggunakan pengindeks berikut, cukup saya berikan indexer_code dan Anda harus mengubah potongan yang diberikan (lihat tabel index_process):
- catalog_product_attribute - Atribut Produk (Jika Anda memperbarui atribut yang digunakan navigasi berlapis)
- catalog_product_price - Harga Produk (Jika Anda memperbarui harga)
- catalog_url - Katalog URL Rewrites (Jika Anda memperbarui Produk atau url Catalag)
- catalog_product_flat - Data Flat Produk (Jika toko Anda menggunakan tabel Flate dan jika Anda memperbarui atribut produk yang menggunakan logika frontend di mana pun)
- catalog_category_flat - Category Flat Data (Jika Anda memperbarui atribut kategori)
- catalog_category_product - Kategori Produk (Jika Anda menambahkan atau menghapus produk dari katalog)
- catalogsearch_fulltext - Indeks Pencarian Katalog (Jika Anda memperbarui atribut produk yang dapat dicari)
- cataloginventory_stock - Status Stok (Jika Anda memperbarui opsi stok produk)
- tag_summary - Data Agregasi Tag (Jika Anda memperbarui tag Produk)
Dan Anda dapat (Anda harus menyegarkan uang tunai setelah pembaruan produk / kategori) membersihkan cache magento secara terprogram dalam logika Anda:
Mage::app()->getCacheInstance()->flush();
Mage::app()->cleanCache();