MOSS 2007 Brotkrumen-Problem
-
04-07-2019 - |
Frage
Ich habe ein Seitenlayout für eine Veröffentlichungssite mit einem ungeraden Verhalten bekommt.
Stellen Sie sich eine Publishing-Website (Website) mit einer Subsite (subsite1), die auf den folgenden Seiten (Seite1 [Standard], Seite2 und Seite3) hat
für Seite 2 und Seite drei die Brotkrümel macht richtig:
site > subsite1 > page2
site > subsite1 > page3
jedoch für die Standardseite nur die Brotkrumen-rendert als
site > subsite1
Jede Idee, wie es zu zwingen, auch den Titel der Standardseite angezeigt werden?
Lösung
Nach langem Suchen und Fehler immer wieder habe ich beschlossen, eine AJAX gehören zu verwenden. Bevor mir jemand markiert den Teufel Sprache (VB.Net) nach unten für die Verwendung habe ich nur, wie ich andere Entwickler hatte die wurden mit und maintaing diesen Code, so dass sie es lesen zu können, hatte ...
Das sind tat das folgende:
- spaltete die aktuelle URL in seine Bestandteile
- Für jeden Teil erhalten die Sharepoint-URL und Sharepoint Web
- Drucken der Titel der Sharepoint-
- Wenn das Teil eine Seite ist, den Seitentitel erhalten und drucken
Dies ist nicht der endgültige Code (ich werde es heute Abend Refactoring):
Dim lsPage = Request.Item("CurrentPage")
Dim TravelURL as string = "http://site/"
Dim aryURLSections() = lsPage.Replace(TravelUrl, "").Split("/")
Dim i as integer
Response.Write("<span class='breadcrumbCurrent'>You are in ></span> <span class='ms-sitemapdirectional'><a href='" & TravelUrl & "' title='Home'>Home</a> > </span>")
for i = 0 to (aryURLSections.Length -1)
Dim PositionString as string = aryURLSections(i)
if PositionString.Contains(".aspx") then
'Render page
Dim psite as SPSite = new SPSite(TravelUrl)
Dim pobjSite As SPWeb = psite.OpenWeb()
Dim lList as SPList
Dim lPage As SPListItem
lList = pobjSite.Lists("Pages")
If Not lList Is Nothing Then
For Each lPage In lList.Items
IF lsPage.ToUpper.Contains(lPage.Url.ToUpper) Then
Response.Write("<span class='breadcrumbCurrent' >" & lPage.Title & "</span>")
Else
'Response.Write("<br>" & lPage.Url & " " & lsPage)
End If
Next
End if
Else if PositionString.Equals("Pages")
' do nothing
else
'render site
TravelUrl = TravelUrl & PositionString & "/"
'Response.Write(TravelUrl & " > ")
Dim site as SPSite = new SPSite(TravelUrl)
Dim objSite As SPWeb = site.OpenWeb()
Dim PubWeb = PublishingWeb.GetPublishingWeb(objSite)
Response.Write("<span class='ms-sitemapdirectional'><a href='" & TravelUrl & "' title='" & PubWeb.Title & "'>" & PubWeb.Title & "</a> > </span>")
End if
Next i