Magento Navigation, how to customize very helpful information?
6 Comments 12th OCT 2009 | Posted by Domagoj Potkoc in Magento

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 …
To post code in comments, place your code inside [code] and [/code] tags.


















October 12th, 2009 at 12:11
BTW. This is the first post of our new employee Domagoj Potkoc, so you guys might wish him a worm welcome here
October 12th, 2009 at 14:52
Domagoj,
Hope to see more posts from you with magento as topic!
Welcome to my world
Regards,
R
October 12th, 2009 at 14:54
Welcome Domagoj!
October 12th, 2009 at 14:56
Welcome Dom to the WORLD OF TOMORROOOOWW!
)
and the love hate relationship that Magento will quickly create
October 12th, 2009 at 15:51
Welcome to the party! Inchoo is like the Plava boja Žir of Croatia, so you should be happy…
(I have no idea if that’s right. I hope I didn’t just insult 4.5M people.)
October 12th, 2009 at 19:12
@Ben: it means something like “blue acorn” so I guess it’s what you’ve aimed for