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. Editing the Magento Navigation
  3. Adding Links to Magento Menu Bar
  4. Adding Links to your Top Menu
  5. Magento Vertical Category Menu

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree

Security Code: