我在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
作者共享源代碼良好的導航控制。