Những chỉ số nào cần được giới thiệu lại để các sản phẩm hiển thị chính xác sau khi chứng khoán được thay đổi thông qua tập lệnh?


8

Tôi đã viết một cron cập nhật hàng tồn kho các sản phẩm của tôi mỗi đêm. Những chỉ số nào cần được giới thiệu lại để các sản phẩm hiển thị chính xác sau khi chứng khoán được thay đổi thông qua tập lệnh? Bộ nhớ cache có cần được làm mới không? Cố gắng xác định chính xác vấn đề tại sao "thêm vào giỏ hàng" bị thiếu trong các sản phẩm tuần trước. Reindexing đã giải quyết vấn đề đó vào tuần trước nhưng cần biết liệu kịch bản chứng khoán của tôi có gây ra sự cần thiết phải reindex không.

Câu trả lời:


14

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();
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.