Blog

SIG's Blog

Technology, internet, rants, raves.


Eric Swanzey
Eric Swanzey
Eric Swanzey's Blog

DotNetNuke Native Navigation - SOLPARTMENU, DNNMENU and RADMENU

There are many options available to you when thinking about what type of navigation component to use for your DotNetNuke web site. What does a navigation component provide? To put it simply, navigation providers construct and display the hierarchical navigation menus that display on your site. This might include a horizontal navigation menu, a vertical navigation menu, or any combination of the two. For example, some sites lend themselves to having a horizontal navigation menu that reflects the entire site, while a vertical navigation menu provides menu items for the current portion or section of the web site.

A skin will typically provide navigation "built in," using one of the navigation providers that is included with every DotNetNuke installation. For this reason, this might not be something you've ever given much thought to because up until now you installed a skin, it had navigation menus, and your attention was then focused on other areas of the site such as content population. 

Another option for site navigation is to purchase any number of available menu modules on Snowcovered. In this way, the module installer will automatically install whatever it needs to display menus. You can simply place an instance of the module onto a page, and modify its settings accordingly. There are some great modules available, including some that are not only completely customizable, but heavily optimized for display speed and SEO ability.

For the sake of this posting, we'll be concerned with the navigation providers that are included with a current DotNetNuke installation.

One of those providers, SOLPARTMENU, has been around for many years, and is still in use on many DNN sites. It makes heavy use of tables, javascript and css to function. Even so, it is highly advised to migrate to a different navigation provider because active development of SOLPARTMENU has effectively stopped.

Recent versions of DNN version 5 have included another provider called DNNMENU (v2), a suggested replacement to SOLPARTMENU. For one, the css is much easier do define when you want to control the look and feel of the menus. You can also directly address specific menu items such as "everything but the root menu," "all first or last items in the submenus," "level x menu items," "level x menu items in a specific path," and much more. You can probably see that creating "round corner" menus now becomes trivial. 

Even more recently in DNN version 5, the Telerik asp.net AJAX suite of controls has now been included with DNN. One of the controls in this suite is RADMENU, a world class navigation provider.

Why make the switch? For one, your SEO will greatly improve, as will the width and breadth of the spidered area of your site. And because RADMENU is so extensively tested, you'll have far less integration issues when checking the display on various operating system and browser combinations. How do you get started? A good place to begin is to download the current set of Telerik skin objects from their site. Skin objects are the "hooks" that you reference in your skin files to subsequently display the object that you are referencing - in this case, RADMENU. These skin objects come packaged in a zip file that you simply install just like a module.

Another very useful Telerik download is their set of skin files. There are about 20 different skins that you can use as is, or customize easily. The RADMENU skin files can be easily referenced in your skin file, as a property of the same skin object mentioned above.

Here is an example of a skin that has SOLPARTMENU referenced. The first block of code belongs in the HEAD area of your ascx file, while the second block of code should be placed wherever you want the menu to actually display on the page.

Register TagPrefix="dnn" TagName="SOLPARTMENU" Src="~/Admin/Skins/SolPartMenu.ascx"
(note: surround code block with "< % @" and "% >" (without spaces))

dnn:SOLPARTMENU runat="server" id="dnnSOLPARTMENU" useskinpatharrowimages="true" rootbreadcrumbarrow="breadcrumb.gif" downarrow="menu_down.gif" rightarrow="menu_right.gif"
(note: surround code block with "<" and "/>")

Here is an example of a skin that has RADMENU referenced. Note the additional dnn:STYLES code fragment, required if you would like to reference a physical set of RADMENU skin files that you have revised. It's optional, as all of the Telerik skins are conveniently enclosed within the provided dll and can be directly referenced "as is."

Register TagPrefix="dnn" TagName="RADMENU" Src="~/DesktopModules/telerik.skinobjects/RadMenu.ascx"
(note: surround code block with "< % @" and "% >" (without spaces))

dnn:STYLES runat="server" ID="MenuVistaSkinStyles1" Name="MenuVistaSkinStyles" StyleSheet="Skins/JEOL/Menu.Vista.css"  UseSkinPath="false"
(note: surround code block with "<" and "/>")

dnn:RADMENU runat="server" id="dnnRADMENU" Skin="Vista" EnableEmbeddedSkins="false"
(note: surround code block with "<" and "/>")

Also, remember that the navigation menu isn't the only place that might reference SOLPARTMENU. The module actions menu, or what you might call the "verb menu" or "carat menu" also utilizes a navigation provider. To replace it, you'll need to edit your Container file (e.g., a small skin file for a module).

Comments (6)

Best National Moving Companies

I commonly go for this site. This is an imperative. This is a fairly new way for making what you can from it. It’s a natural and understanding material but I have many questions about your post. But Thanks anymore.

10 years ago
Alex

Great Post, thanks a lot

11 years ago
Pharaoh's Tomb slot

This is a smart blog. I mean it. You have so much knowledge about this issue, and so much passion. You also know how to make people rally behind it, obviously from the responses.&lt;br /&gt;

11 years ago
casino

This article gives the light in which we can observe the reality. this is very nice one and gives in depth information. thanks for this nice article Good post.&lt;br /&gt;&lt;a href=&quot;http://www.nettonlinecasino.com&quot; rel=&quot;nofollow&quot;&gt;casino&lt;/a&gt;

11 years ago
basic gambling facts

thanks for writing this.&lt;br /&gt;it is very useful for me.

11 years ago
Ralph Williams

Thanks for the write up. I was not able to find the ascx code for this anywhere else, so far.

12 years ago


Comments are closed.