Sharepoint create site navigation through programming

不问归期 提交于 2019-12-25 04:29:24

问题


I have a requirement in sharepoint where I want to Create the top link navigation based on excel file. Means The site navigation structure (along with parent site subsite under parent site) is mention in excel file. I need to read that structure and based on modify the navigation in sharepoint.

Please can any one tell me is it possible to configure navigation in such a way. If yes then please tell me how to achive it.

FYI: I am using MOSS 2007.

thanks in advance

sachin katkar


回答1:


If this is a Publishing site, you can use code similar to the following:

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



回答2:


yes you can do this.

I had also almost the same requirement. I did this task by the following way

  1. Create a webpart for reading excel file and create menu
  2. Open the masterpage using sharepoint designer and comment the lines which render the top navigation and place the new webpart there
  3. Inherit this masterpage in its subsite.

If you want more help, pls ask me, I can help you




回答3:


Wow that seems like a really bad idea. Why not use a SharePoint list to populate a static menu with? Much easier to create, much faster because it does not need to open an Excel sheet, and you can copy and paste values in from an Excel sheet if you like.

Alternatively, I use excel sheets to gather data about the structure of a SharePoint site, e.g. what sites, template and subsites, etc. From that Excel sheet I generate a script to build a site structure using the commands in http://stsadm.blogspot.com This way, your menu will follow the Excel sheet's data and there will be no clunky custom code.




回答4:


There are two ways you could implement this - either add/remove nodes within the existing SharePoint navigation structure, or change the data source used by the menu control.

To modify the standard navigation settings (navivagation customization continues to work as it usually does out of the box) use the methods on

web.Navigation.TopNavigationBar

The other option involves editing the master page (or appropriate delegate controls) and changing the AspMenu and SiteMapDataSource elements to use a different SiteMapProvider. You can either create your own implementation or use the out of box one that reads from an xml file. If you choose this option the user will not be able to edit the menus through navigation settings.



来源:https://stackoverflow.com/questions/2425465/sharepoint-create-site-navigation-through-programming

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!