/**
  * Init virtual category attributes using the backend model when category load.
  *
  * @return Mage_Catalog_Model_Resource_Category_Collection
  */
 protected function _afterLoad()
 {
     parent::_afterLoad();
     if (array_key_exists('virtual_category', $this->_selectAttributes)) {
         $virtualCategoryBackendModel = Mage::getModel('smile_virtualcategories/category_attributes_backend_virtual');
         foreach ($this->_items as $item) {
             $virtualCategoryBackendModel->afterLoad($item);
         }
     }
     return $this;
 }
 /**
  * Reorder collection according to current sort order.
  *
  * @return Smile_ElasticSearch_Model_Resource_Catalog_Category_Collection
  */
 protected function _afterLoad()
 {
     parent::_afterLoad();
     if (!empty($this->_searchedEntityIds)) {
         $sortedItems = array();
         foreach ($this->_searchedEntityIds as $id) {
             if (isset($this->_items[$id])) {
                 $sortedItems[$id] = $this->_items[$id];
             }
         }
         $this->_items =& $sortedItems;
     }
     return $this;
 }