Background
Starting with version 3.2/4.0 DotNetNuke introduced the abstraction of the control used for navigation into the provider model. This means that sites can alter their web.config to change the default provider used e.g. change the menu to a different menu.
With its release 4 implementations of the provider were included: SolpartMenuNavigationProvider, DNNTreeNavigationProvider, DNNDropDownNavigationProvider, and DNNMenuNavigationProvider. The default web.config configuration looks like this (5.5.0)
<navigationControl defaultProvider="SolpartMenuNavigationProvider">
<providers>
<clear />
<add name="DNNDropDownNavigationProvider" type="DotNetNuke.NavigationControl.DNNDropDownNavigationProvider, DotNetNuke.DNNDropDownNavigationProvider" providerPath="~\Providers\NavigationProviders\DNNDropDownNavigationProvider\" />
<add name="ASP2MenuNavigationProvider" type="DotNetNuke.NavigationControl.ASP2MenuNavigationProvider, DotNetNuke.ASP2MenuNavigationProvider" providerPath="~\Providers\NavigationProviders\ASP2MenuNavigationProvider\" />
<add name="DNNMenuNavigationProvider" type="DotNetNuke.NavigationControl.DNNMenuNavigationProvider, DotNetNuke.DNNMenuNavigationProvider" providerPath="~\Providers\NavigationProviders\DNNMenuNavigationProvider\" />
<add name="DNNTreeNavigationProvider" type="DotNetNuke.NavigationControl.DNNTreeNavigationProvider, DotNetNuke.DNNTreeNavigationProvider" providerPath="~\Providers\NavigationProviders\DNNTreeNavigationProvider\" />
<add name="SolpartMenuNavigationProvider" type="DotNetNuke.NavigationControl.SolpartMenuNavigationProvider, DotNetNuke.SolpartMenuNavigationProvider" providerPath="~\Providers\NavigationProviders\SolpartMenuNavigationProvider\" />
</providers>
</navigationControl>
To change the site wide default to the
DNNMenu which is more modern and supported (Solpart has been deprecated and only remains as a default to support the many skins that assume that default), a user can simply update the web.config and change the default i.e.
<navigationControl defaultProvider="DNNMenuNavigationProvider">
With the 6.0 release DotNetNuke changed the default menu to use
DDRMenuDeveloping new provider versions
There is a document providing further details as well as the steps to create a new navigation provider available
herePlease note, new providers can also take advantage of the support for
CustomAttributes that was added in 4.5.0
3rd party navigation providers
There are a number of 3rd party navigation provides, both free and commercial.
Free- DNN Garden - popular free menu which is fully templatable so can suit almost any need e.g. the superfish template is a css based unordered list. This is now included in DotNetNuke 6.
- Radmenu -you can read more about radmenu at http://www.telerik.com/products/aspnet-ajax/menu.aspx (note: theres a possibility a later version of DotNetNuke may be integrated into the core or/and used in a core skin)
- House of nuke - CSS based menu . Note, this menu has not seen development in some time and does not work in DotNetNuke 6 but a community release was created to address this.
Commercial