officeba > 单独文章


使用SPD自定义MOSS2007导航

MOSS2007自带导航仅支持2级导航,而碰到一个需求要做成3 级导航,就只能自定义了 ,请先看修改后的页面

开始动手拉
第一步创建 XML 文件
<?xml version="1.0" encoding="gb2312" ?>
<menu>
  <menuItem url="~/Default.aspx" title="简介"  description=""/>
  <menuItem url="~/News.aspx" title="新闻"  description="">
    <menuItem url="~/News.aspx" title="国内新闻"  description=""/>
    <menuItem url="~/News.aspx" title="国际新闻"  description="">
      <menuItem url="~/News.aspx" title="亚洲新闻"  description=""/>
      <menuItem url="~/News.aspx" title="欧洲新闻"  description=""/>
    </menuItem>    
  </menuItem>
</menu>      

第二步  上传 XML文件到需要自定义的网站


第三步  使用SPD添加XML数据源 

浏览到刚才上传的XML,点确定,添加数据源

第四步   插入 数据源 控件
打开 默认母板页 ,在左边导航 空白处 ,插入 XML数据源控件

第五步 修改 XML数据源 XPATH 路径
在刚才插入的XML 数据源控件上右击选择属性,修改XPATH 路径为 /*/*

第六部  修改 左边导航控件 ASPMENU 部分代码
在母板页代码中,找到左边导航 控件 代码  做 如下修改,
1 修改datasourceID属性为上文插入的XML数据源ID
2 插入 <DataBindings>   </DataBindings>  属性节
3 注意 StaticDisplayLevels   MaximumDynamicDisplayLevels    这2个属性设置


<SharePoint:AspMenu ID="CurrentNav" runat="server" datasourceID="SPXmlDataSource1" orientation="Vertical"
                                                StaticDisplayLevels="1" MaximumDynamicDisplayLevels="3" StaticSubMenuIndent="1" ItemWrap="true" AccessKey="3" CssClass="leftNav" SkipLinkText="<%$Resources:cms,masterpages_skiplinktext%>">
                                                        <LevelMenuItemStyles>
                                                                <asp:MenuItemStyle CssClass="leftNav1" />
                                                                <asp:MenuItemStyle CssClass="leftNav2" />
                                                                <asp:MenuItemStyle CssClass="leftNav3" />
                                                        </LevelMenuItemStyles>
                                                        <DataBindings>
                                <asp:MenuItemBinding DataMember="menuItem" NavigateUrlField="url" TextField="title" />
                                <asp:MenuItemBinding DataMember="menuItem" NavigateUrlField="url" TextField="title" />
                               <asp:MenuItemBinding DataMember="menuItem" NavigateUrlField="url" TextField="title" />
                           </DataBindings>
                                                        <StaticHoverStyle CssClass="leftNavHover"/>
                                                        <StaticSelectedStyle CssClass="leftNavSelected"/>
                                                        <DynamicMenuStyle CssClass="leftNavFlyOuts" />
                                                        <DynamicMenuItemStyle CssClass="leftNavFlyOutsItem"/>
                                                        <DynamicHoverStyle CssClass="leftNavFlyOutsHover"/>
                                                </SharePoint:AspMenu>

第八步 SPD中切换到,设计视图 ,就能看到  导航已经被修改.

总结:
     导航实际为一个 ASP.NET控件 MENU ,大家可以去查查有关此控件详细信息
    除了左边导航,顶部的全局导航,也可以同样方法定制,也可以为导航控件 绑定 其他的数据源.
     另,如果什么问题,欢迎大家指正

作者:hzyeva


声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2008-07-27 16:42:49,点击:65824


【OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

评论内容