Inventua TopMenu for DotNetNuke

The Inventua TopMenu displays a horizontal list of hyperlinks used for navigation within DotNetNuke, and can change the style of the displayed items when the user moves the mouse over a menu item. The display styles of the menu is entirely css-driven, and you can configure the "source" menu, so the module can be used from any page level.

Try Before You Buy
All of Inventua's DNN modules are available on a try before you buy basis. You can download them freely from Inventua, and try them out for as long as you like. If you are happy with the product, you can buy it at SnowCovered.

Installation
The installation zip file is configured as a DotNetNuke Private Assembly. To install Inventua DNN TopMenu to your DNN portal, log in as the DNN host user "host" and use the DNN Module Definitions page to upload the module.

Compatibility
This module has a version for with DNN version 3.0 and above.

Microsoft Windows: Internet Explorer 6, Firefox 1.0, Mozilla 1.6
Apple OS X: Safari 1.2.3, Mozilla 1.6, Netscape 7.1, Opera 6.0.3.

Configuration Options
Create a TopMenu instance and select the Options menu item from the module settings menu to display the Options page.  If you are using the TopMenu as a skin object, you can use the properties specified here and include <OBJECT> and <TOKEN> nodes in your skin.xml file as described in the DNN skinning documentation. For more information, refer to the "Using TopMenu as a skin object" topic below.

Source

Use the source page combo to select the base page to use for this instance of the TopMenu. You can select [Root Page] to display a hierachical view of all tabs, or you can select a child page to display only that page and it's children. You can suppress the display of a page by setting it's "Disabled" property in the DotNetNuke page manager. The TopMenu will only display tabs that the currently logged-on user has access rights to. 

If you are using the TopMenu as a skin object, the property name for this option is "source". 

Special values:
[root page]: Top level root page for the current portal.  If used in a skin, use the value -1.
[current page]:   Shows the child items of the current page only.  If used in a skin, use the value -2.
[parent page]:   Shows the current page's parent and it's child tabs.  If used in a skin, use the value -3.
[top ancestor]:   Shows the current page's "highest" ancestor page and its child tabs.  If used in a skin, use the value -4.
[dual]:  If the current tab is a top-level tab (no parent), displays the menu the same as the [current tab] option.  If the current tab is not a top-level tab, draws the menu the same as the [top ancestor] option.  If used in a skin, use the value -5.  [dual] is intended for large sites (where showing the entire page tree is not practical), or for page designs that show the top level tabs either across the top of the page or in another menu instance.

MenuBar css class Use this option to set the menu bar css class name in your skin or portal css file. The default value is TopMenuItem. Menu items are rendered on top of the MenuBar, so this can be used to set background colours, etc.  If you are using the TopMenu as a skin object, the property name for this option is "MenuBarCssClass".
Item css class Use this option to set the menu item css class name in your skin or portal css file. The default value is MenuItem . If you are using the TopMenu as a skin object, the property name for this option is "MenuItemCssClass".
Item Highlight css class Use this option to set the "highlighted" css class name in your skin or portal css file. The highlight css style is used to highlight the menu item under the mouse pointer. The default value is MenuItemMouseOver. If you are using the TopMenu as a skin object, the property name for this option is "MenuHighlightCssClass".
Current Item css class Use this option to set the "current" page's css class name in your skin or portal css file. The Item current page css class is used to highlight the currently displayed page, if the current page is being drawn as a menu item. The default value is blank (empty string). If you are using the TopMenu as a skin object, the property name for this option is "CurrentItemCssClass".
Separator

Use this option to set the seperator character between menu items, or leave the setting blank to not draw any menu seperator. If you are using the TopMenu as a skin object, the property name for this option is "Separator".

Note:  In earlier versions, this parameter was mis-spelled as "Seperator".  You will need to use "Seperator" as the attribute name with earlier versions of TopMenu.

Disregard Hidden Flag Show hidden tabs.  Normally, hidden tabs are not displayed. If you are using the TopMenu as a skin object, the property name for this option is "IgnoreHidden".
Disregard Disabled Flag Normally the TopMenu uses disabled property for menu headings:  If the page is disabled, the menu header is drawn as static text (that is, clicking on the menu header has no effect).  If the page is not disabled, the menu header is drawn as a hyperlink. If you are using the TopMenu as a skin object, the property name for this option is "IgnoreDisabled".
Display page Name instead of Title Displays the page's Name property rather than using the Title property. If you are using the TopMenu as a skin object, the property name for this option is "UseName".
Disable Javascript Turns off ALL Javascript rendering - This option is for users who want to render a menu that does not require Javascript. No mouseover commands are executed, so the Highlight CSS class has no effect. If you are using the TopMenu as a skin object, the property name for this option is "DisableJavascript".
Show Icons Displays the page's icon to the right of the menu item or header. If you are using the TopMenu as a skin object, the property name for this option is "ShowIcons".
Show Description Renders the page's description beneath the page name (or title), if a description has been set for the page. The page is rendered with CLASS= cssclassDescription, where cssclass is the header or item css class used for the page.

ID Attributes
Each menu item (and header) is tagged with an ID attribute, in the form "invtopmenu-tabname", where tabname is the name of the page with spaces and illegal characters filtered out (if you are having trouble identifying a menu item's ID, use View Source in your browser to determine what ID is being used).  You can use the ID in your CSS to specify a special style for specific menu items.  For example, the CSS to draw a page named "About" in yellow text is:

  #invtopmenu-About {color: yellow}

Using TopMenu as a skin object
The Inventua TopMenu is installed as both a module and a skin object automatically when you install it using the DNN file manager. Add the TopMenu to your portal skin by including a [INVTOPMENU] token. You can set the properties of the control using a skin.xml file as documented in the DNN Skinning Guide, Appendix B. The "Configuration Options" section above describes the available properties.

For example, to configure the TopMenu to display the child items of page 10, use the following xml in yourskin.xml:


<Objects>
  <Object>
    <Token>[INVTOPMENU]</Token>
    <Settings>
      <Setting>
        <Name>Source</Name>
        <Value>10</Value>
      </Setting>
    </Settings>
  </Object>
</Objects>

 

Using QueryString items to control the TopMenu
If you pass querystring values matching TopMenu attribute names to a page, the TopMenu will use the values you pass.  For example, you could use the URL http://yoursite.com?RootTab=6 to display the menu using page number 6 as the root page.

Conditions of use
Permission is hereby granted, on a Try-before-you-buy basis, to any person obtaining a copy of the Inventua DNN TopMenu module and associated documentation files (the "Software"), to use the Software without restriction, including the rights to use, copy or otherwise use the software for commerical or non-commercial use, but excluding any rights to reverse engineer or remove Inventua logos and licensing information. This permission does not imply or otherwise grant any rights to any other Inventua intellectual property including but not limited to logos, trademarks, documentation and software products.

THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

This help file, the accompanying software and other materials supplied with the software are Copyright © Inventua, 2004-2008. All Rights Reserved.

About DotNetNuke
The Inventua DNN TopMenu Module is a DotNetNuke portal module. For more information on DotNetNuke, visit http://www.dotnetnuke.com.

About Inventua
Inventua provides software tools for information technology organisations that facilitate and maximise synergy and cohesion between development, support, marketing and management teams, improves software product quality and helps information technology organisations to provide great products and great support. Visit Inventua on the web at http://www.inventua.com