很早之前就一直想把SharePoint 的導航替換成自己想要的效果,之前也看了不少相關文章,這幾天閑著沒事就開始嘗試做了下,經過不斷嘗試,終於做出來了,哈哈。。。
由於SharePoint 2007/2010的網站導航基本上基於標準的ASP.NET SiteMap模型,所以只要你對ASP.NET SiteMap有一些瞭解,就能建立一個自訂的導覽功能表。
在開始之前,讓我們先從網上隨便找一個樣子比較cool的菜單控制項。在下面的樣本中,我選擇使用Smooth Navigation Menu這個jQuery控制項,來渲染出SharePoint網站的頂部導覽功能表。將Smooth Navigation Menu控制項相關的.js、.css、.gif檔案統統下載下來,我們將把它們都放進SharePoint項目中。(此效果跟Kaneboy做的效果一樣);大家可以參考這篇文章嘗試做下,http://blog.joycode.com/kaneboy/archives/2010/09/27/116080.joy
我做出來的效果如下:
這裡我主要講下PortalSiteMapProvider:
There are a few instances of the PSMP that are defined in the MOSS web.config that can be accessed through the PSM object:
PortalSiteMapProvider.CombinedNavSiteMapProvider: attached to the global or top nav menus
PortalSiteMapProvider.CurrentNavSiteMapProvider: attached to the current, or "Quick Launch" nav menu
PortalSiteMapProvider.CurrentNavSiteMapProviderNoEncode: attached to the breadcrumb nav
PortalSiteMapProvider.GlobalNavSiteMapProvider: Get the map for the global nav
PortalSiteMapProvider.WebSiteMapProvider: enumerates Web sites (SPWebs) in the site collection
參考資料:
http://blog.richfinn.net/blog/2007/08/14/CustomCMOSSNavigationUsingPortalSiteMapProvider.aspx