2010-03-11 21 views
0

我在sharepoint中有一个需求,我想要根据excel文件创建顶级链接导航。意思是在excel文件中提到站点导航结构(以及父站点下的父站点子站点)。我需要阅读该结构并基于修改SharePoint中的导航。Sharepoint通过编程创建网站导航

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

FYI:我使用MOSS 2007

在此先感谢

萨钦katkar

回答

1

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

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

是的,你可以做到这一点。

我也有几乎相同的要求。我做这个任务通过以下方式

  1. 使用SharePoint Designer创建的WebPart读取Excel文件,然后菜单
  2. 打开母版和评论,其呈现顶部导航的线,并将新的WebPart有
  3. 在其子网站中继承此主页。

如果你想要更多的帮助,请问我,我可以帮你

0

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

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

0

有两种方式可以实现这一点 - 无论是添加/现有的SharePoint导航结构中删除节点,或更改菜单控件使用的数据源。

要修改标准的导航设置(navivagation定制继续工作,因为它通常不开箱)使用上

web.Navigation.TopNavigationBar 

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