首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MOSS 2007 Breadcrumb问题

MOSS 2007 Breadcrumb问题
EN

Stack Overflow用户
提问于 2008-10-27 16:03:52
回答 1查看 624关注 0票数 0

我得到了一个发布网站的页面布局,它有一个奇怪的行为。

假设一个发布站点( site )具有一个子站点(subsite1),该子站点具有以下页面(page1 default、page2和page3)

对于第2页和第3页,breadcrumb会正确呈现:

代码语言:javascript
复制
site > subsite1 > page2 
site > subsite1 > page3

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

代码语言:javascript
复制
site > subsite1

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2008-10-29 15:54:25

经过多次搜索和反复失败后,我决定使用AJAX include。在任何人指责我使用devils语言(VB.Net)之前,我只是像其他使用和维护这段代码的开发人员一样使用它,所以他们必须能够阅读它……

include完成了以下操作:

  1. 将当前url拆分为其组成部分
  2. 为每个部分获取Sharepoint URL和Sharepoint web
  3. 打印sharepoint web
  4. 的标题如果该部分是页面,则获取页面标题并将其打印

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

代码语言:javascript
复制
  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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/240427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档