Sharepoint通过编程创建网站导航

时间:2010-03-11 14:01:20

标签: sharepoint moss navigation wss

我在sharepoint中有一个要求,我想根据excel文件创建顶部链接导航。意味着在excel文件中提到了站点导航结构(以及父站点下的父站点子站点)。我需要阅读该结构并基于修改sharepoint中的导航。

任何人都可以告诉我是否可以以这种方式配置导航。如果是,那么请告诉我如何实现它。

仅供参考:我正在使用MOSS 2007。

提前致谢

sachin katkar

5 个答案:

答案 0 :(得分:1)

是的,你可以这样做。

我也有同样的要求。我通过以下方式完成了这项任务

  1. 创建用于阅读Excel文件和创建菜单的webpart
  2. 使用sharepoint设计器打开母版页并注释呈现顶部导航的行并将新的webpart放在那里
  3. 在其子网站中继承此母版页。
  4. 如果您需要更多帮助,请问我,我可以帮助您

答案 1 :(得分:1)

如果这是一个发布网站,您可以使用类似于以下内容的代码:

PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(SPContext.Current.Web);
SPNavigationSiteMapNode.CreateSPNavigationNode(title, url, NodeTypes.AuthoredLinkToPage, publishingWeb.GlobalNavigationNodes);
publishingWeb.Update();

答案 2 :(得分:1)

查看此帖子Custom site navigation for publishing sites

作者与源代码共享良好的导航控制。

答案 3 :(得分:0)

哇,这似乎是一个非常糟糕的主意。为什么不使用SharePoint列表填充静态菜单?更容易创建,更快,因为它不需要打开Excel工作表,并且您可以根据需要从Excel工作表中复制和粘贴值。

或者,我使用Excel工作表来收集有关SharePoint网站结构的数据,例如:什么网站,模板和子网站等。从Excel工作表我生成一个脚本,使用http://stsadm.blogspot.com中的命令构建网站结构 这样,您的菜单将遵循Excel工作表的数据,并且没有笨重的自定义代码。

答案 4 :(得分:0)

有两种方法可以实现此目的 - 在现有SharePoint导航结构中添加/删除节点,或更改菜单控件使用的数据源。

要修改标准导航设置(导航定制继续按照通常的方式开箱即用),请使用

上的方法
web.Navigation.TopNavigationBar

另一个选项涉及编辑母版页(或适当的委托控件)并更改AspMenu和SiteMapDataSource元素以使用不同的SiteMapProvider。您可以创建自己的实现,也可以使用从xml文件中读取的开箱即用的实现。如果选择此选项,用户将无法通过导航设置编辑菜单。