문제

저는 SharePoint 2013을 사용하여 작업하고 있으며 SharePoint 2010에서와 마찬가지로 탐색경로 트레일을 표시하기 위해 SharePoint Designer에서 HTML 마스터 페이지를 편집했습니다.코드는 마스터 페이지에서 ID "DeltaPlaceHolderPageTitleInTitleArea" 뒤에 배치되며 다음과 같습니다.

<!--SPM:<asp:sitemappath 
    runat="server" 
    sitemapprovider="SPContentMapProvider" 
    rendercurrentnodeaslink="true" 
    nodestyle-cssclass="breadcrumbNode" 
    currentnodestyle-cssclass="breadcrumbCurrentNode" 
    rootnodestyle-cssclass="breadcrumbRootNode" 
    SkipLinkText=""/>--> 

이는 실제로 탐색경로 트레일을 보여주지만 내가 원하는 방식으로 표시되지는 않습니다."인트라넷"이라는 사이트 모음이 있고 "일반"이라는 하위 사이트에 있다고 가정해 보겠습니다."일반" 하위 사이트에는 "소개"라는 페이지가 있습니다.이 페이지(및 이 하위 사이트의 다른 모든 페이지)는 용어 집합으로 관리됩니다.

다음과 같은 흔적이 표시됩니다.인트라넷 > 일반 > 소개

하지만 이제 용어 집합에 "소개"라는 용어의 하위 요소인 두 개의 다른 용어가 있다고 가정해 보겠습니다. 이러한 하위 요소(하위 용어)의 이름은 "기록" 및 "위치"입니다.내가 "역사" 페이지에 있다면 하위 사이트 "일반" 바로 아래에 있는 또 다른 페이지일 뿐입니다.

다음과 같은 탐색경로 트레일이 표시됩니다.인트라넷 > 일반 > 기록
나는 그것이 다음과 같이 표시되기를 원합니다.인트라넷 > 일반 > 소개 > 연혁

이동 경로 트레일에서 어떤 페이지가 하위 용어이고 어떤 페이지가 상위 용어인지 등을 감지하기 위해 무엇을 해야 하는지 이해하지 못하는 것 같기 때문에 이에 대해 약간 의아해합니다.

도움을 주셔서 미리 감사드립니다!

편집하다:기본적으로 내가 검색하는 것은 이 블로그.웹 파트 사용을 피하고 싶습니다.JavaScript에서 변경하거나 마스터 페이지에서 직접 변경하고 싶습니다.

도움이 되었습니까?

해결책

은 기간 중심의 하위 사이트 탐색의 값을 사용하여 계층 적 탐색 경로를 얻는 방법을 발견했습니다! :)

탐색의 목록 항목을 찾아 탐색하는 목록을 찾으면 목록을 루프하고 모든 상위 요소를 수집 할 수 있습니다.


이러한 부모 요소를 기반으로 이제 계층 구조를 알고 그 요소의 값을 사용하여 탐색 경로를 만듭니다.

여기에 우리가 알고있는 것처럼 빵 부스러기의 스크린 샷이 있습니다. old breadcrumb


여기에 JavaScript의 도움으로 현재있는 빵 부스러기의 스크린 샷이 있습니다. 여기에 이미지 설명을 입력하십시오>


볼 수 있듯이 이제 페이지의 전체 경로가 표시됩니다. 나는 새로운 게시물 마스터 페이지에서 추가 및 바꾸어야하는 코드 조각을 포함하여 필요한 모든 코드로 내 대답에 대한 내 블로그.



코드에 문제가 있거나 도움이 필요하면 언제든지 묻는 것을 자유롭게하십시오.

다른 팁

Robert는 거의 비슷한 방식으로 sptitlebreadcrumb을 활용하는 것을 쉽게 구현할 수 있다고 말했습니다.레이아웃 페이지에서 내 HTML 코드가 있습니다.
<div id="modern-breadcrumb">
                <!--MS:<SharePoint:SPTitleBreadcrumb
                                 runat="server"
                                 RenderCurrentNodeAsLink="false"
                                 SiteMapProvider="CurrentNavigationTaxonomyProvider"
                                 ParentLevelsDisplayed="2"
                                 DefaultParentLevelsDisplayed="2" 
                                 RootNodeStyle-CssClass="home" 
                                 NodeStyle-CssClass="bc-node" 
                                 CurrentNodeStyle-CssClass="current" 
                                 PathSeparator="" 
                                 PathDirection="RootToCurrent">-->      
                <!--ME:</SharePoint:SPTitleBreadcrumb>-->
            </div>
.

용어 속성은 현재 페이지의 관리되는 메타데이터 탐색 분류를 표시하지만 하이퍼링크는 제공하지 않습니다.

 <!--CS: Start Term Property Snippet--><!--SPM:<%@Register Tagprefix="spsswc"  Namespace="Microsoft.Office.Server.Search.WebControls" Assembly="Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>--><!--SPM:<%@Register Tagprefix="ac679b743"  Namespace="Microsoft.SharePoint.Taxonomy" Assembly="Microsoft.SharePoint.Taxonomy, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>--><!--MS:<ac679b743:TermProperty runat="server" TermStoreID="00000000-0000-0000-0000-000000000000" TermSetID="00000000-0000-0000-0000-000000000000" TermID="00000000-0000-0000-0000-000000000000" Property="Path" Title="&#60;%$Resources:osrvcore,TermProperty_Title%&#62;" FrameType="None" SuppressWebPartChrome="True" Description="&#60;%$Resources:osrvcore,TermProperty_Description%&#62;" IsIncluded="True" ZoneID="ImportedPartZone" PartOrder="0" FrameState="Normal" AllowRemove="True" AllowZoneChange="True" AllowMinimize="True" AllowConnect="True" AllowEdit="True" AllowHide="True" IsVisible="True" DetailLink="" HelpLink="" HelpMode="Modeless" Dir="Default" PartImageSmall="" MissingAssembly="&#60;%$Resources:osrvcore,WebPartImportError%&#62;" ImportErrorMessage="&#60;%$Resources:osrvcore,WebPartImportError%&#62;" PartImageLarge="" IsIncludedFilter="" ExportControlledProperties="True" ConnectionID="00000000-0000-0000-0000-000000000000" ID="g_9e235508_1981_4af3_afca_f5a52d0e66cf" ChromeType="None" ExportMode="All" Preview="&#60;div class=&#34;ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth &#34;&#62;  &#60;div WebPartID=&#34;00000000-0000-0000-0000-000000000000&#34; HasPers=&#34;true&#34; id=&#34;WebPartwpz2_g_9e235508_1981_4af3_afca_f5a52d0e66cf&#34; width=&#34;100%&#34; class=&#34;ms-WPBody noindex &#34; OnlyForMePart=&#34;true&#34; allowDelete=&#34;false&#34; style=&#34;&#34; &#62;&#60;div id=&#34;WebPartContent&#34;&#62;   [ TermProperty &#34;g_9e235508_1981_4af3_afca_f5a52d0e66cf&#34; ]  &#60;/div&#62;&#60;div class=&#34;ms-clear&#34;&#62;&#60;/div&#62;&#60;/div&#62; &#60;/div&#62;" __MarkupType="vsattributemarkup" __WebPartId="{9e235508-1981-4af3-afca-f5a52d0e66cf}" WebPart="true" Height="" Width="">--><!--PS: Start of READ-ONLY PREVIEW (do not modify)-->[ TermProperty "Unnamed4" ]<!--PE: End of READ-ONLY PREVIEW--><!--ME:</ac679b743:TermProperty>--><!--CE: End Term Property Snippet-->

또는 이와 같이 JavaScript를 사용하십시오(완전히 기능하려면 더 많은 작업이 필요함).

<SCRIPT LANGUAGE="JavaScript">
 <!--
var path = "";
 var href = document.location.href;
 var s = href.split("/");
 for (var i=2;i<(s.length-1);i++) {
 path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].length+1)+"/\">"+s[i]+"</A> / ";
 }
 i=s.length-1;
 path+="<A HREF=\""+href.substring(0,href.indexOf(s[i])+s[i].length)+"\">"+s[i]+"</A>";
 document.writeln(path);
 //-->
 </script>

Master Page 에서 다음 컨트롤을 사용하여 관리되는 탐색 작업을 사용하여 탐색 경로를 얻을 수있었습니다.

<SharePointWebControls:ListSiteMapPath runat="server"
    SiteMapProviders="GlobalNavigationTaxonomyProvider"
    RenderCurrentNodeAsLink="true" CssClass="s4-breadcrumb"
    NodeStyle-CssClass="s4-breadcrumbNode"
    CurrentNodeStyle-CssClass="s4-breadcrumbCurrentNode"
    RootNodeStyle-CssClass="s4-breadcrumbRootNode"
    HideInteriorRootNodes="true"
    SkipLinkText=""
    PathSeparator="">
</SharePointWebControls:ListSiteMapPath>
.

다른 옵션은 아래 그림과 같이 sptitlebreadcrumb 컨트롤을 사용하는 것입니다.

<SharePoint:AjaxDelta id="DeltaPlaceHolderPageTitleInTitleArea" runat="server">

    <asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server">
                                        <SharePoint:SPTitleBreadcrumb
                                 runat="server"
                                 RenderCurrentNodeAsLink="false"
                                 SiteMapProvider="CurrentNavigationTaxonomyProvider"
                                 ParentLevelsDisplayed="4"
                                 DefaultParentLevelsDisplayed="4" PathDirection="RootToCurrent">
                                    <PATHSEPARATORTEMPLATE>
                                        <SharePoint:ClusteredDirectionalSeparatorArrow runat="server" />

           </PATHSEPARATORTEMPLATE>

      </SharePoint:SPTitleBreadcrumb>

 </asp:ContentPlaceHolder>

 </SharePoint:AjaxDelta>
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top