cara mengoptimalkan memuat semua kategori dengan gambar


8

saat ini, saya memiliki dua foreach bersarang untuk loop melalui semua kategori, dan itu sangat lambat (3-4s di server lokal saya). Saya pikir masalahnya adalah saya menggunakan -> LOAD () untuk mendapatkan jalur gambar untuk kategori anak. apakah ada cara lain untuk melakukannya? atau saya harus mendesain ulang seluruh navigasi ui? ada saran?

$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;

Jawaban:


3

Saya tidak tahu apakah ini berhasil, tetapi Anda dapat mencoba bekerja dengannya Mage_Catalog_Model_Resource_Category_Tree

Kelas ini akan memberi Anda kemungkinan untuk melintasi pohon, tetapi setelah memuat semua kategori.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.