Categories: GeneralHow To

How to Create Categories Tree Structure in Magento Programmatically

When it comes to website navigation, menu behaves like a roadmap to various informative places of the website. Visitors will only stay on website if the menu and navigation is clear and this will be considered as a good user experience. Recently I have been working on my client’s site where he has multiple category structure for each product. We had to custom code to show it in website menu. The main reason behind this was to provide users the thing he needed directly from the home page menu with lesser clicks. This really works well when it comes to providing better user experience and easy navigation to web users.

If you also want to create categories tree structure in Magento, follow this code and paste at the proper place where you want to show the tree structure and show nested categories.

Here is the code to create categories tree structure in Magento programmatically

//CODE FOR MENU START
            function renderCategoriesTree($category) 
   { 
     $children = Mage::getModel('catalog/category')->load($category->getId());
     if($children->getData('children_count'))
     {
      $cl='menu-item-has-children menu-parent-item'; 
     }
     else
     {
      $cl='';
     }
    
     echo '
  • '; echo ""; echo ''.$children->getName().''; echo ""; if($children->getData('children_count')) { echo "
      "; $childr = Mage::getModel('catalog/category')->getCategories($category->getId()); foreach ($childr as $child) { renderCategoriesTree($child); } echo "
    "; } echo '
  • '; } $categories = Mage::getModel('catalog/category') ->getCollection() ->addAttributeToSelect('*') ->addIsActiveFilter() ->addAttributeToFilter('include_in_menu','1') ->addAttributeToFilter('level','2'); foreach($categories as $item) { renderCategoriesTree($item); } //CODE FOR MENU END

    Adding above custom code in Magento will create a categories tree structure like shown below.

    Let me know through commenting if you have any confusion or query regarding this. Your suggestions & feedback are always welcomed. till than, Happy Coding!

    Click to rate this post!
    [Total: 2 Average: 5]
    Dhiren Vasoya

    Dhiren Vasoya is a Director and Co-founder at MageComp, Passionate 🎖️ Certified Magento Developer👨‍💻. He has more than 9 years of experience in Magento Development and completed 850+ projects to solve the most important E-commerce challenges. He is fond❤️ of coding and if he is not busy developing then you can find him at the cricket ground, hitting boundaries.🏏

    Recent Posts

    What are Net Sales? How to Calculate Your Net Sales?

    In the world of business, understanding financial metrics is crucial for making informed decisions and…

    20 hours ago

    Magento 2 Extensions Digest April 2024 (New Release & Updates)

    Welcome to the MageComp Monthly Digest, where we bring you the latest updates, releases, and…

    20 hours ago

    The ABCs of Geofencing: Definition, Features and Uses

    In this era, businesses are always on the lookout for ways to engage with their…

    2 days ago

    How to Delete Product Variant in a Shopify Remix App using GraphQL Mutations?

    Managing a Shopify store efficiently involves keeping your product catalog organized. This includes removing outdated…

    3 days ago

    6 Innovative Tools Revolutionizing E-Commerce Operations

    E-commerce has transformed the way consumers shop for products and services and interact with businesses.…

    5 days ago

    How Upcoming Cookie Changes Will Affect Your E-commerce Website?

    The e-commerce world is constantly in flux. New tech and strategies emerge daily to help…

    5 days ago