更改SharePoint 2010 顶部导航为下拉菜单样式
最后的效果图:
假如一个网站集*站点下面有子网站:sub site1,该子站点下面又有两个子站点:sub site1_1,sub site1_2。如果我们可以实现在*站点,当鼠标移动到子站点上时,自动显示子站点下面的子站点(如上图)该多好。其实很简单。
1.用sharepoint designer打开需要更改的站点,并找到母版页,sharepoint 2010 默认的母版页是v4.master,右击复制该母版页为一个新母版页,并将其改名为v4_sample.master,右击复制好的母版页,选择在高级模式下编辑文件:
2.找到下面的代码:
<SharePoint:AspMenu ID="TopNavigationMenuV4" Runat="server" EnableViewState="false" DataSourceID="topSiteMap" AccessKey="<%$Resources:wss,navigation_accesskey%>" UseSimpleRendering="true" UseSeparateCss="false" Orientation="Horizontal" StaticDisplayLevels="2" MaximumDynamicDisplayLevels="1" SkipLinkText="" CssClass="s4-tn"/> 将MaximumDynamicDisplayLevels="1"改成MaximumDynamicDisplayLevels="4".
3.然后,找到下面代码,将代码作如下修改(红色),然后移除StartingNodeUrl="sid:1002":
<SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="topNavigationDelegate"> <Template_Controls> <asp:SiteMapDataSource ShowStartingNode="True" SiteMapProvider="SPSiteMapProvider" id="topSiteMap" runat="server"/> </Template_Controls> </SharePoint:DelegateControl> 4.保存母版页,然后刷新站点,就可以看到效果了。 说明:
1.过程很简单,就行简单的修改几处母版页。
2.这个好像只对子站点有效,如果你是自己添加的顶部导航,不会有效果。