How do I create a navigation menu for different pages in SDL Tridion?

tridion, tridion-2011

Solution

If you use ASPX as page types, below is described other logic for navigation:

Create one navigation xml (contains all pages) with important pages info (ID, path, title...)

Create ascx control that will generate breadcrumb or any other navigation. As parameter control should retrieve current page ID

- Change page DWT (placing ascx control)

On this way you decrease rendering (publishing) time, navigation will be rendered on page loading. Unfortunately you increase page loading time by this way. It depends on your need what is more appropriate solution for you. Refreshing navigation XML is one of the problem of this approach....

Problem

I have created different pages for all these categories: books, mobiles, comp, etc. Now I want to put this type of navigation menu (as shown in figure) in all pages and opening a page should highlight the corresponding menu link. Should I create a schema which contains text and a link and make it multivalued? So then I create a component and finally render them in all pages? If not please suggest any other better approach to do so.

Original source