2010-04-09 60 views
0

我有一個帶有根站點和3個子站點的SharePoint站點,用於實現我使用GlobalNavSiteMapProvider的門戶的水平菜單。對於我選擇使用CurrentNavSiteMapProviderNoEncode的麪包屑。 在subites navegation中,我選擇選項「顯示頁面」(如果我不檢查這個選項,breacrumb沒有顯示子網頁的正確路徑)和「顯示主站點的相同網格」。 breacrumb爲所有頁面起作用,但在子網站的歡迎頁面中顯示菜單,而不是顯示根網站的全局導航,顯示在其中創建的頁面(在子網頁中菜單正常工作並顯示全局網格)。如果我取消選中子網站上的「顯示頁面」,該菜單在所有頁面中都能正常工作,但是bredcrumb只能在根網站的頁面上正常工作SharePoint SiteMapProvider - 幫助

回答

0

我過去所做的是定義一個新的導航提供程序在專門用於麪包屑的web.config中。

<add name="BreadCrumbSiteMapProvider" 
    description="CMS provider for Breadcrumb navigation" 
    type="Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider, 
     Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, 
     PublicKeyToken=71e9bce111e9429c" 
    NavigationType="Combined" 
    EncodeOutput="false" 
    IncludePages="Always" 
    IncludeHeadings="true" 
    IncludeAuthoredLinks="true" /> 

添加到您的web.config的網站地圖/供應商部分,並指出你的麪包屑控制,新的供應商

屬性IncludePages =「始終」將覆蓋你的設置複選框「顯示頁面」。

+0

謝謝保羅,你的消化麪包屑工程總是很好。但我繼續與菜單和GlobalNavSiteMapProvider的問題。通過您的解決方案,我可以取消選中「顯示頁面」選項,並且可以在所有頁面(包括歡迎頁面)中使用該菜單。我現在的問題是,我有一個不同的CSS的菜單當前項目,例如在這種情況下: 當前頁面= /新聞/ news1.aspx(subsite新聞+頁面news1.aspx) Provider.CurrentNode是「/新聞/ 「和」新聞「菜單項將與選定的模板呈現什麼是錯誤的。 – jdcorr 2010-04-09 15:06:08

+0

我不確定我現在明白了這個問題。你能夠鏈接到某個地方的截圖,以便可以更好地解釋一下嗎? – 2010-04-09 15:43:42

+0

問題是,如果我不檢查「顯示頁面」,並且例如我在一個子網站的頁面中,GlobalNavSiteMapProvider的CurrentNode屬性是子網站的根目錄而不是頁面。要解決這個問題,在我的自定義navegation菜單中檢查節點是否代表當前頁面,我將頁面url(而不是當前節點屬性)與節點url進行比較。 – jdcorr 2010-04-12 17:37:55