Làm thế nào để tối ưu hóa tải tất cả các danh mục với hình ảnh


8

ngay bây giờ, tôi có hai hướng dẫn lồng nhau để lặp qua tất cả các danh mục và nó cực kỳ chậm (3-4 trên máy chủ cục bộ của tôi). Tôi nghĩ vấn đề là tôi sử dụng -> LOAD () để lấy đường dẫn hình ảnh cho danh mục con. Có cách nào khác để làm điều đó? hoặc tôi chỉ nên thiết kế lại toàn bộ điều hướng ui? bất cứ đề nghị nào?

$categories = Mage::getSingleton('catalog/category')
    ->getCollection()
    ->addAttributeToSelect('id')
    ->addAttributeToSelect('name')
    ->addAttributeToSelect('url_key')
    ->addAttributeToSelect('url')
    ->addAttributeToFilter('level',2)
    ->addIsActiveFilter()
    ->addAttributeToSort('position');

foreach ($categories as $category): 
    $id = $category->getId();
    $children = $category->getChildrenCategories();
    $name = $category->getName();
    $url_path = $category->getUrl();        

    foreach ($children as $child):                                      
        $childId = $child->getId();
        $thisChild = Mage::getSingleton('catalog/category')->load($childId);
        $name = $thisChild->getName();
        $url_key = $thisChild->getUrlKey(); 
        $url_path = $child->getUrl();
        $img = $thisChild->getImageUrl();   
    endforeach;
endforeach;

Câu trả lời:


3

Tôi không biết liệu điều này có hiệu quả hay không, nhưng bạn có thể thử làm việc với Mage_Catalog_Model_Resource_Category_Tree

Lớp này sẽ cung cấp cho bạn khả năng đi ngang qua cây, nhưng sau khi tải tất cả các danh mục.

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.