在DNN中使用DDR菜单的时候一般都会使用模板来定制化菜单数据源。但是菜单数据源长什么样,请参照如下XML片段。
<Root> <root> <node id="37" text="Home" title="DNN menu module - free upgrade for SolPartMenu & DNNMenu skins" url="http://www.dnngarden.com/Home.T37.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="1" last="0" only="0" depth="0"> <description>Upgrade your standard DNN menu - automatically and for free - to an SEO-optimised,accessible,mobile-friendly,cross-browser menu.</description> </node> <node id="56" text="DNN Menu" title="DNN menu module - free upgrade for SolPartMenu & DNNMenu skins" url="http://www.dnngarden.com/DNN-Menu.T56.aspx" enabled="1" selected="0" breadcrumb="1" separator="0" first="0" last="0" only="0" depth="0"> <node id="97" text="Menu features" title="DNN menu module - free cross-browser upgrade with SEO,JQuery" url="http://www.dnngarden.com/Menu-features.T97.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="1" last="0" only="0" depth="1" /> <node id="111" text="Pre-built templates" title="Free DotNetNuke menu module templates" url="http://www.dnngarden.com/Pre-built-templates.T111.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="1"> <node id="94" text="Standard DNN menu,upgraded" title="DNN menu module - free upgrade for SolPartMenu & DNNMenu skins" url="http://www.dnngarden.com/Standard-DNN-menu-upgraded.T94.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="1" last="0" only="0" depth="2" /> <node id="124" text="Superfish template" title="Superfish menu for DotNetNuke" url="http://www.dnngarden.com/Superfish-template.T124.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="106" text="Treeview template" title="DNN menu module - Treeview - free download available" url="http://www.dnngarden.com/Treeview-template.T106.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="107" text="Accordion template" title="DNN menu module - Accordion - free download available" url="http://www.dnngarden.com/Accordion-template.T107.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="112" text="Dropdown template" title="DNN menu module - Dropdown - free download available" url="http://www.dnngarden.com/Dropdown-template.T112.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="132" text=""ArtisteerFish" template" title="Artisteer template download - upgrade for Artisteer DotNetNuke menus" url="http://www.dnngarden.com/ArtisteerFish-template.T132.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="96" text="Mega-menu" title="DNN menu module - Mega-menu style - free download available" url="http://www.dnngarden.com/Mega-menu.T96.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="1" only="0" depth="2" /> </node> <node id="113" text="Getting started" title="DNN menu module - Getting started - free download available" url="http://www.dnngarden.com/Getting-started.T113.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="1"> <node id="114" text="Installing the menu" title="DNN menu module - Installation instructions" url="http://www.dnngarden.com/Installing-the-menu.T114.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="1" last="0" only="0" depth="2" /> <node id="115" text="Upgrading a SolPart menu" title="DNN menu module - Upgrading a SolPart menu" url="http://www.dnngarden.com/Upgrading-a-SolPart-menu.T115.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="116" text="Upgrading a DNNMenu" title="DNN menu module - Upgrading DNNMenu (aka DNN Nav Menu)" url="http://www.dnngarden.com/Upgrading-a-DNNMenu.T116.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="117" text="Installing a template" title="DNN menu module - Installing a template" url="http://www.dnngarden.com/Installing-a-template.T117.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="118" text="Adding to a skin" title="DNN menu module - Adding to a skin" url="http://www.dnngarden.com/Adding-to-a-skin.T118.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="120" text="Standard options" title="DNN menu module - Standard options" url="http://www.dnngarden.com/Standard-options.T120.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="1" only="0" depth="2" /> </node> <node id="119" text="Customising templates" title="DNN menu module - Customising templates" url="http://www.dnngarden.com/Customising-templates.T119.aspx" enabled="0" selected="0" breadcrumb="1" separator="0" first="0" last="1" only="0" depth="1"> <node id="123" text="Creating custom templates" title="DNN menu module - Creating custom templates" url="http://www.dnngarden.com/Creating-custom-templates.T123.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="1" last="0" only="0" depth="2" /> <node id="121" text="Specifying filenames" title="DNN menu module - Specifying filenames" url="http://www.dnngarden.com/Specifying-filenames.T121.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="2" /> <node id="122" text="XML format" title="DNN menu module - XML format" url="http://www.dnngarden.com/XML-format.T122.aspx" enabled="1" selected="1" breadcrumb="1" separator="0" first="0" last="0" only="0" depth="2" /> <node id="133" text="XSL extension functions" title="DNN menu module - XSL extension functions" url="http://www.dnngarden.com/XSL-extension-functions.T133.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="1" only="0" depth="2" /> </node></node> <node id="87" text="Download" title="DNN menu module - free upgrade for SolPartMenu & DNNMenu skins" url="http://www.dnngarden.com/Download.T87.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="0" only="0" depth="0" /> <node id="85" text="Contact" title="DNNGarden contact details" url="http://www.dnngarden.com/Contact.T85.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="1" only="0" depth="0"> <node id="129" text="Blog" title="Blog" url="http://www.dnngarden.com/Blog.T129.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="1" last="0" only="0" depth="1" /> <node id="130" text="Forum" title="Forum" url="http://www.dnngarden.com/Forum.T130.aspx" enabled="1" selected="0" breadcrumb="0" separator="0" first="0" last="1" only="0" depth="1" /> </node></root> <user> <AffiliateID>-1</AffiliateID> <IsDeleted>false</IsDeleted> <IsSuperUser>false</IsSuperUser> <Membership> <Approved>true</Approved> <CreatedDate>0001-01-01T00:00:00</CreatedDate> <IsOnLine>false</IsOnLine> <LastActivityDate>0001-01-01T00:00:00</LastActivityDate> <LastLockoutDate>0001-01-01T00:00:00</LastLockoutDate> <LastLoginDate>0001-01-01T00:00:00</LastLoginDate> <LastPasswordChangeDate>0001-01-01T00:00:00</LastPasswordChangeDate> <LockedOut>false</LockedOut> <UpdatePassword>false</UpdatePassword> </Membership> <PortalID>-1</PortalID> <Profile> <ProfileProperties> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Name</propertycategory> <propertyname>Prefix</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Name</propertycategory> <propertyname>FirstName</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Name</propertycategory> <propertyname>MiddleName</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Name</propertycategory> <propertyname>LastName</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Name</propertycategory> <propertyname>Suffix</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Address</propertycategory> <propertyname>Unit</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Address</propertycategory> <propertyname>Street</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Address</propertycategory> <propertyname>City</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>0</length> <propertycategory>Address</propertycategory> <propertyname>Region</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>0</length> <propertycategory>Address</propertycategory> <propertyname>Country</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Address</propertycategory> <propertyname>PostalCode</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Contact Info</propertycategory> <propertyname>Telephone</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Contact Info</propertycategory> <propertyname>Cell</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Contact Info</propertycategory> <propertyname>Fax</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Contact Info</propertycategory> <propertyname>Website</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>50</length> <propertycategory>Contact Info</propertycategory> <propertyname>IM</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>0</length> <propertycategory>Preferences</propertycategory> <propertyname>Biography</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>0</length> <propertycategory>Preferences</propertycategory> <propertyname>TimeZone</propertyname> </ProfilePropertyDefinition> <ProfilePropertyDefinition> <length>0</length> <propertycategory>Preferences</propertycategory> <propertyname>PreferredLocale</propertyname> </ProfilePropertyDefinition></ProfileProperties> <TimeZone>-1</TimeZone> </Profile> <RefreshRoles>false</RefreshRoles> <Roles /> <UserID>-1</UserID> </user> </Root>
以下为上述XML片段中Node的属性及子Node的描述
@id - The page ID
@text - The page name (i.e. what should normally be displayed in the menu)
@title - The full page title
@url - The page URL
@enabled - Whether the page is enabled
@selected - Whether the page is selected
@breadcrumb - Whether the page is in the current breadcrumb
@separator - Whether the node is a separator
@icon - The URL of the page icon
@largeimage - The URL of the large page icon (DNN 6 only)
@first - Whether the page is the first in its level
@last - Whether the page is the last in its level
@only - Whether the page is the only one in its level
@depth - The depth of the current page in the menu structure (starting at 0)
@target - The target window for the url defined for the page (_new or null); DNN 7.1+
@commandname - The action command name (action menus only)
@commandargument - The action command argument (action menus only)
keywords - The keywords defined for the current page
description - The description of the current page
node - A child node of this node
XML片段引自:
http://www.dnngarden.com/XML-format.T122.aspx
其他相关资源:
DDRMenu 源代码
http://dnnddrmenu.codeplex.com/
DDRMenu Wiki
http://www.dnnsoftware.com/wiki/Page/DDRMenu