【问题标题】:MOSS 2007 Breadcrumb problemMOSS 2007 面包屑问题
【发布时间】:2008-12-10 17:26:15
【问题描述】:

我有一个行为奇怪的发布网站的页面布局。

想象一个发布站点 (site) 有一个子站点 (subsite1),它有以下页面(page1 [默认]、page2 和 page3)

对于第 2 页和第 3 页,面包屑导航正确呈现:

site > subsite1 > page2 
site > subsite1 > page3

但是对于默认页面,面包屑仅呈现为

site > subsite1

知道如何强制它也显示默认页面的标题吗?

【问题讨论】:

    标签: sharepoint sharepoint-2007 master-pages


    【解决方案1】:

    经过多次搜索和反复失败,我决定使用 AJAX 包含。在有人因为使用魔鬼语言 (VB.Net) 而对我进行评分之前,我只使用它,因为我有其他开发人员正在使用和维护此代码,因此他们必须能够阅读它...

    包含执行以下操作:

    1. 将当前 url 拆分成其组成部分
    2. 为每个部分获取 Sharepoint URL 和 Sharepoint Web
    3. 打印共享点网站的标题
    4. 如果部分是页面,获取页面标题并打印

    这不是最终代码(今晚我将对其进行重构):

      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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多