Navigation Providers

Modified on 2012/01/03 05:05 PM by cathal Categorized as Uncategorized

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 DDRMenu

Developing new provider versions»

There is a document providing further details as well as the steps to create a new navigation provider available here

Please 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


Copyright 2014 by DNN Corp | Terms of Use | Privacy | Design by Parker Moore Design