It has been a good few months since DotNetNuke hit one of the major milestones of the project: DotNetNuke version 5, codename “Cambrian” as announced by the project founder at OpenForce North America back in 2008. As exciting as it sounds, DotNetNuke 5 brings to the table many cool features from administration, to module development, to skinning. I am one of the early adopters out there who likes to venture through the most recent releases and explore what’s new so: 1) my clients can benefit from it, and 2) I can have something to geek out with peers.
I’ve written a blog post about this subject before but didn’t have time to go further into the details of customizing the menu. So in this post, I’d like to provide some information about how to take advantage of the latest DotNetNuke navigation Web control (DNNMenu) with unordered list HTML rendering.
To enable unordered list rendering in DNN 5, you will need to:
- Register the skinning resources as follows
- Specify the provider that you want to use

- Specify the rendering mode for the control by introducing the custom attribute(s)

There are other animation attributes and values you can try such as:

Currently there isn’t any documentation outlining the details of customizing these animations, however, you can try to use a trial-and-error method to experiment and see if something is worth using. And this how almost all of us learn, right?
If you’d like to take control of the animation, you can eliminate the dnn.controls.dnnmenu.js and replace it with your own jQuery plugin, then you’ll have a very customized menu of your own. Of course this approach is somewhat controversial since it’s considered “modifying the core”. But there isn’t a way to go around it safely.
There is also an UnloadCSS SkinObject created by my fellow DNN team member, Timo Breumelhof, to safely eliminate the unwanted CSS files loading in DNN. I‘ve requested a similar version of it for Javascripts so Web designers find it easy to deal with unwanted javascripts in DotNetNuke so hopefully we’ll able to see Timo coming up with something cool in CodePlex for all of us to use.
In the end, it’s up to the developer to choose the most optimal solution for their navigation decision when building DotNetNuke-based Web sites. There are many great third party Web navigation controls created by community enthusiasts that you can use, but be sure to do a thorough testing process for these controls before you start using it.
If you have any experience with the core DotNetNuke navigation, please do share it here.