Did you ever wanted to create completely custom menu in SharePoint and use some common way to manage the navigation nodes?
In this post I’ll show you how to build custom navigation with an XML file as a navigation source and treeview as display control.
Because navigation nodes are defined in XML file, nodes can be managed manually or retrieved automatically. XML file can be retrieved from anywhere or even constructed and manipulated by custom code. One of simpler approaches would be even to have data source available as XML web service.
Another benefit is XML structure. Structure below is just a sample. Structure can be more complex or completely different or contain a lot more information. It’s up to you to define which information is in element and what in attributes.
Maybe you even have an XML schema already defined somewhere and you just reuse it….
Create sample xml file with nodes that should be displayed in navigation menu.
<?xml version="1.0" encoding="utf-8" ?> <Menu name="MyNavigation"> <Folder name="Technical Links"> <Node name="Microsoft" url="http://www.microsoft.com"></Node> <Node name="MSDN" url="http://www.msdn.com"></Node> <Node name="TechNet" url="http://technet.microsoft.com"></Node> </Folder> <Folder name="Links"> <Node name="My Blog" url="http://blogs.msdn.com/matjazperpar"></Node> <Node name="Microsoft Slovenia" url="http://www.microsoft.com/slovenija"></Node> </Folder> </Menu>
Save file as “MyNavSource.xml” on SharePoint. I used Pages library for this post.
On SharePoint create a blank aspx file and save it as “NavigationPost.aspx”.
File NavigationPost.aspx should look like this:
It is also possible to use aspmenu control instead of Treeview. That would look like this:
PingBack from http://stevepietrek.com/2008/12/18/links-12182008/
hi nice article ... I wanted to check with you how do we security trim the menu / site map
meaning i want to show the links to only those who have access to
Thanking you in advance
Awesome Post. Could you also explain How I can replace my Quick Launch menu with this kind of custom made menu?
Useful post dude, using a similar method now on sp2010 direct from db!
Thanks. Very useful. I have struggled with this for 3 days... and finally moved forward with your help.
I am trying to bind normal sharepoint list as data source and I feel that with your example I eventualy succed.
Hi, is it possible to create further sub-node levels? We have a requirement upto 7-levels of navigation. Thanks
I need sub-node levels too. Any hints out there?
I need something like this for 2010... anyone have anything?