Nếu bạn cập nhật tùy chọn cổ phiếu của các sản phẩm, bạn có thể lập lại bảng "Trạng thái chứng khoán" theo chương trình:
try {
$indexer = Mage::getModel('index/indexer')->getProcessByCode('cataloginventory_stock');
$indexer->reindexEverything();
} catch (Exception $e) {
//Some error handling
}
Để có được mô hình chỉ mục sử dụng Mage::getModel('index/indexer')->getProcessByCode('some_indexer_code_given_below')
. Magento cung cấp một số chỉ mục. Nếu bạn cập nhật sản phẩm theo chương trình, bạn có thể sử dụng các bộ chỉ mục sau, chỉ cần tôi cung cấp indexer_code và bạn nên thay đổi đoạn mã đã cho (xem bảng index_ process):
- catalog_product_attribution - Thuộc tính sản phẩm (Nếu bạn đã cập nhật các thuộc tính được sử dụng điều hướng theo lớp)
- catalog_product_price - Giá sản phẩm (Nếu bạn cập nhật giá)
- catalog_url - Viết lại URL danh mục (Nếu bạn đã cập nhật url Sản phẩm hoặc Catalag)
- catalog_product_flat - Dữ liệu phẳng của sản phẩm (Nếu cửa hàng của bạn sử dụng bảng Flate và nếu bạn đã cập nhật các thuộc tính sản phẩm được sử dụng logic lối vào mọi nơi)
- catalog_carget_flat - Danh mục dữ liệu phẳng (Nếu bạn đã cập nhật thuộc tính danh mục)
- catalog_carget_product - Danh mục sản phẩm (Nếu bạn đã thêm hoặc xóa sản phẩm khỏi danh mục)
- catalogsearch_fulltext - Chỉ mục tìm kiếm danh mục (Nếu bạn cập nhật các thuộc tính có thể tìm kiếm của sản phẩm)
- cataloginventory_stock - Trạng thái chứng khoán (Nếu bạn cập nhật tùy chọn cổ phiếu của sản phẩm)
- tag_summary - Dữ liệu tổng hợp thẻ (Nếu bạn đã cập nhật thẻ Sản phẩm)
Và bạn có thể (bạn nên làm mới tiền mặt sau khi cập nhật sản phẩm / danh mục) làm sạch bộ nhớ cache magento theo lập trình theo logic của bạn:
Mage::app()->getCacheInstance()->flush();
Mage::app()->cleanCache();