我在sharepoint中有一个需求,我想要根据excel文件创建顶级链接导航。意思是在excel文件中提到站点导航结构(以及父站点下的父站点子站点)。我需要阅读该结构并基于修改SharePoint中的导航。Sharepoint通过编程创建网站导航
请任何人都可以告诉我是否有可能以这种方式配置导航。如果是,那么请告诉我如何实现它。
FYI:我使用MOSS 2007
在此先感谢
萨钦katkar
我在sharepoint中有一个需求,我想要根据excel文件创建顶级链接导航。意思是在excel文件中提到站点导航结构(以及父站点下的父站点子站点)。我需要阅读该结构并基于修改SharePoint中的导航。Sharepoint通过编程创建网站导航
请任何人都可以告诉我是否有可能以这种方式配置导航。如果是,那么请告诉我如何实现它。
FYI:我使用MOSS 2007
在此先感谢
萨钦katkar
如果这是一个发布网站,你可以使用类似的代码如下:
PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(SPContext.Current.Web);
SPNavigationSiteMapNode.CreateSPNavigationNode(title, url, NodeTypes.AuthoredLinkToPage, publishingWeb.GlobalNavigationNodes);
publishingWeb.Update();
是的,你可以做到这一点。
我也有几乎相同的要求。我做这个任务通过以下方式
如果你想要更多的帮助,请问我,我可以帮你
哇,这似乎是一个非常糟糕的主意。为什么不使用SharePoint列表来填充静态菜单?创建起来更容易,速度更快,因为它不需要打开Excel工作表,并且可以根据需要从Excel工作表中复制和粘贴值。
或者,我使用Excel表来收集有关SharePoint网站结构的数据,例如,什么网站,模板和子网站等。从该Excel工作表生成一个脚本,使用http://stsadm.blogspot.com 中的命令构建网站结构。这样,您的菜单将遵循Excel工作表的数据,并且不会有笨拙的自定义代码。
有两种方式可以实现这一点 - 无论是添加/现有的SharePoint导航结构中删除节点,或更改菜单控件使用的数据源。
要修改标准的导航设置(navivagation定制继续工作,因为它通常不开箱)使用上
web.Navigation.TopNavigationBar
另一种选择涉及编辑母版页(或相应的委托控制)方法并将AspMenu和SiteMapDataSource元素更改为使用不同的SiteMapProvider。您可以创建自己的实现,也可以使用从xml文件中读取的实现。如果选择此选项,用户将无法通过导航设置编辑菜单。
检查这个帖子Custom site navigation for publishing sites
作者共享源代码良好的导航控制。