Home Magento Customization

Magento Navigation, how to customize very helpful information?

15 October 2009 No Comment

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:

  1. Custom category menu navigation in Magento
  2. Magento Vertical Category Menu
  3. Adding Links to Magento Menu Bar
  4. Editing the Magento Navigation
  5. Adding Links to your Top Menu

Comments are closed.