/**
  * Join request_path column from url rewrite table
  *
  * @return Mage_Catalog_Model_Resource_Category_Flat_Collection
  */
 public function addUrlRewriteToResult()
 {
     /** @var $urlRewrite Mage_Catalog_Helper_Category_Url_Rewrite_Interface */
     $urlRewrite = $this->_factory->getCategoryUrlRewriteHelper();
     $urlRewrite->joinTableToCollection($this, $this->_getCurrentStoreId());
     return $this;
 }
 /**
  * Joins url rewrite rules to collection
  *
  * @return Mage_Catalog_Model_Resource_Category_Collection
  */
 public function joinUrlRewrite()
 {
     $this->_factory->getCategoryUrlRewriteHelper()->joinTableToEavCollection($this, $this->_getCurrentStoreId());
     return $this;
 }
Exemple #3
0
 /**
  * Return parent categories of category
  *
  * @param Mage_Catalog_Model_Category $category
  * @param bool $isActive
  * @return array
  */
 public function getParentCategories($category, $isActive = true)
 {
     $categories = array();
     $select = $this->_getReadAdapter()->select()->from(array('main_table' => $this->getMainStoreTable($category->getStoreId())), array('main_table.entity_id', 'main_table.name'))->where('main_table.entity_id IN (?)', array_reverse(explode(',', $category->getPathInStore())));
     if ($isActive) {
         $select->where('main_table.is_active = ?', '1');
     }
     $select->order('main_table.path ASC');
     $urlRewrite = $this->_factory->getCategoryUrlRewriteHelper();
     $urlRewrite->joinTableToSelect($select, $category->getStoreId());
     $result = $this->_getReadAdapter()->fetchAll($select);
     foreach ($result as $row) {
         $row['id'] = $row['entity_id'];
         $categories[$row['entity_id']] = Mage::getModel('catalog/category')->setData($row);
     }
     return $categories;
 }