Pregunta

Tengo un diseño de página para un sitio de publicación con un comportamiento extraño.

Imagine un sitio de publicación (sitio) con un subsitio (subsitio1) que tenga las siguientes páginas (página1 [predeterminado], página2 y página3)

para la página 2 y la página tres, la ruta de navegación se muestra correctamente:

site > subsite1 > page2 
site > subsite1 > page3

sin embargo, para la página predeterminada, la ruta de navegación solo se procesa como

site > subsite1

¿Alguna idea de cómo forzarla para que muestre también el título de la página predeterminada?

¿Fue útil?

Solución

Después de mucho buscar y fallar repetidamente, decidí usar un AJAX. Antes de que alguien me marcara por usar el lenguaje de los demonios (VB.Net), solo lo usaba porque tenía otros desarrolladores que usaban y mantenían este código, así que tenían que poder leerlo ...

La inclusión hizo lo siguiente:

  1. divide la url actual en sus partes constituyentes
  2. Para cada parte, obtenga la URL de Sharepoint y la web de Sharepoint
  3. Imprima el título de la web de sharepoint
  4. Si la parte es una página, obtenga el título de la página e imprímala

Este no es el código final (voy a refactorizarlo esta noche):

  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 &gt;</span> <span class='ms-sitemapdirectional'><a href='" & TravelUrl & "' title='Home'>Home</a> &gt; </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> &gt; </span>")
    End if

    Next i
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top