/** * Retrives frame object * @param Varien_Object $object Category Tree Node * @return Varien_Object */ protected function _getFrame(Varien_Object $object, $level = 1) { $frame = new Varien_Object(); $frame->setFrameId('category' . $object->getId()); $frame->setFrameCategoryId($object->getId()); $frame->setHeader($object->getName()); $frame->setLevel($level + 1); if (Mage::getStoreConfig('catalog/frontend/flat_catalog_category')) { $frame->setChildren($object->getChildrenNodes()); } else { $frame->setChildren($object->getChildren()); } $frame->setChildrenCount($this->__getChildrenCount($object)); if (Mage::getStoreConfig('catalog/frontend/flat_catalog_category')) { if (is_array($frame->getChildrenNodes()) || is_object($frame->getChildrenNodes()) && get_class($frame->getChildrenNodes()) == 'Varien_Data_Tree_Node_Collection') { foreach ($frame->getChildrenNodes() as $child) { $this->_frames[] = $this->_getFrame($child, $level + 1); } } } else { if (is_array($frame->getChildren()) || is_object($frame->getChildren()) && get_class($frame->getChildren()) == 'Varien_Data_Tree_Node_Collection') { foreach ($frame->getChildren() as $child) { $this->_frames[] = $this->_getFrame($child, $level + 1); } } } return $frame; }