/** * Build a list of product categories in hierarchical order. * * @name parseCategoryValue * @param Mage_Catalog_Model_Resource_Category_Collection $objectCollection * @return string */ protected function parseCategoryValue($objectCollection) { $objectCollection->addAttributeToSelect('name'); $object = $objectCollection->getFirstItem(); $names = array(); $depth = 0; if (!Mage::app()->isSingleStoreMode()) { $depth = 1; } while ($object->getLevel() > $depth) { $names[] = $object->getName(); $object = $object->getParentCategory(); } return implode('/', array_reverse($names)); }
/** * Build a list of product categories in hierarchical order. * * @name parseCategoryValue * @param Mage_Catalog_Model_Resource_Category_Collection $objectCollection * @return string */ protected function parseCategoryValue($objectCollection) { $objectCollection->addAttributeToSelect('name'); $object = $objectCollection->getFirstItem(); $names = array(); while ($object->getLevel() > 0) { $names[] = $object->getName(); $object = $object->getParentCategory(); } return implode('/', array_reverse($names)); }
public function loadCollection(Mage_Catalog_Model_Resource_Category_Collection $collection, array $additionalFields = array()) { $toLoad = array_unique(array_merge($this->_requiredCategoryFields, $this->_config()->megaMenuAttributeCodes(), $additionalFields)); foreach ($toLoad as $field) { $collection->addAttributeToSelect($field); } $childreen = $collection->load($this->_debugDbLoads)->getItems(); if ($this->_debugDbLoads) { foreach ($childreen as $child) { Mage::log('collection item loaded' . var_export($child->debug(), true)); } } $this->_categoriesCache = $childreen + $this->_categoriesCache; return $childreen; }