Magento Navigation, how to customize very helpful information?

This post describes how Magento navigation works. I hope it will help you.
The begining of all is in template file: “category/navigation/top.phtml”
<ul id="nav"> < ?php foreach ($this->getStoreCategories() as $_category): ?> < ?php echo $this->drawItem($_category); ?> < ?php endforeach ?> </ul>
There we call the method from class Mage_Catalog_Block_Navigation $this->getStoreCategories(). This method returns the array $_nodes from object Varien_Data_Tree_Node_Collection.
This array contains objects of Varien_Data_Tree_Node.
Every node is object of Varien_Data_Tree_Node and it is extension from Varien_Object.
Example 1:
If we wish to see how much categories we have, we can do it with method showed below:
< ?php echo $this->getStoreCategories()->count(); ?>
We will get only number of categories from the first level.
Example 2: (only level 1):
< ?php
foreach ($this->getStoreCategories() as $categories)
{
// $categories is object Varien_Data_Tree_Node extendec Varien_Object
echo $categories->getData('entity_id')."\n";
echo $categories->getData('parent_id')."\n";
echo $categories->getData('level')."\n";
echo $categories->getData('children_count')."\n";
}
?>
Every Varien_Data_Tree_Node contains varible $_childNodes
/** * Child nodes * * @var Varien_Data_Tree_Node_Collection */ protected $_childNodes; **/
and $_childNodes is instance of Varien_Data_Tree_Node_Collection.
Varien_Data_Tree_Node_Collection contains variable $_nodes which is array with Varian_Data_Tree_Node.
All this “revolves” through recursion …
By Domagoj Potkoc from Inchoo.net
Related posts:

Leave your response!