/** * Join url rewrite table to collection * * @param Mage_Catalog_Model_Resource_Category_Flat_Collection $collection * @param int $storeId * @return Mage_Catalog_Helper_Category_Url_Rewrite|Mage_Catalog_Helper_Category_Url_Rewrite_Interface */ public function joinTableToCollection(Mage_Catalog_Model_Resource_Category_Flat_Collection $collection, $storeId) { if ($this->_helper()->OptimizeCategoriesLeftJoin($storeId)) { $collection->getSelect()->joinLeft(array('url_rewrite' => $collection->getTable('urlindexer/url_rewrite')), 'url_rewrite.category_id = main_table.entity_id AND url_rewrite.is_system = 1 ' . ' AND ' . $collection->getConnection()->quoteInto('url_rewrite.store_id = ?', $storeId) . ' AND ' . $collection->getConnection()->quoteInto('url_rewrite.id_path LIKE ?', 'category/%'), array('request_path')); return $this; } return parent::joinTableToCollection($collection, $storeId); }
/** * Join url rewrite table to collection * * @param Mage_Catalog_Model_Resource_Category_Flat_Collection $collection * @param int $storeId * * @return Mage_Catalog_Helper_Category_Url_Rewrite|Mage_Catalog_Helper_Category_Url_Rewrite_Interface */ public function joinTableToCollection(Mage_Catalog_Model_Resource_Category_Flat_Collection $collection, $storeId) { if (false === Mage::helper('schumacherfm_fastindexer')->optimizeUrlRewriteFlatCategory()) { parent::joinTableToCollection($collection, $storeId); } else { $collection->getSelect()->columns('main_table.url_path as request_path'); } return $this; }