Вопрос

Я работаю с SharePoint 2013 и отредактировал свою главную страницу HTML в SharePoint Designer, чтобы отобразить навигационную цепочку, как в SharePoint 2010.Код размещается после идентификатора «DeltaPlaceHolderPageTitleInTitleArea» на главной странице и выглядит следующим образом:

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

Хотя это действительно показывает след крошек, он показывает его не так, как я надеялся.Допустим, у меня есть семейство веб-сайтов под названием «Интранет», и я нахожусь на его дочернем сайте под названием «Общий».На дочернем сайте «Общие» я нахожусь на странице «Введение».Эта страница (и все другие страницы этого дочернего сайта) управляются наборами терминов.

Это покажет такой след:Интранет > Общие > Введение

Но теперь предположим, что в моем наборе терминов есть еще 2 термина, которые являются дочерними элементами термина «Введение», эти дочерние элементы (дочерние термины) называются «История» и «Местоположения».Если бы я находился на странице «История», это была бы просто еще одна страница непосредственно под дочерним сайтом «Общие».

Это будет отображать цепочку навигации следующим образом:Интранет > Общие > История
Хотя мне бы хотелось, чтобы это выглядело так:Интранет > Общие > Введение > История

Я немного озадачен этим, так как, похоже, не понимаю, что мне следует делать, чтобы по цепочке навигации можно было определить, какая страница является дочерним термином, а какая родительским и так далее.

Заранее спасибо за вашу помощь!

РЕДАКТИРОВАТЬ:По сути, я ищу что-то вроде примера в этот блог.Просто я хочу избежать использования веб-части.Я хотел бы внести изменения либо в JavaScript, либо непосредственно на главную страницу.

Это было полезно?

Решение

Я нашел способ получить иерархическую панировку, используя значения, управляемая термином Subsite! :)


Узнать, какой элемент списка в навигации выбран (что означает, что у него есть URL-адрес, который вы включены), я могу перейти через список и собирать все родительские элементы.
Основываясь на этих родительских элементах, теперь я знаю иерархию и могу использовать значения этих элементов для создания падении.

Вот скриншот парики, как мы это знаем: Старая chadscrumb
И вот скриншот парики у меня в настоящее время есть, с помощью JavaScript: Введите описание изображения здесь
Как видите, теперь он показывает полный путь к странице. Я написал новый post В моем блоге о моем ответе со всем необходимым кодом, включая куски кода, вы должны добавить и заменить на своей главной странице.

Не стесняйтесь спрашивать, есть ли у вас проблемы с кодом или если вам нужна помощь.

Другие советы

Как Роберт говорит, что я легко может реализовать, что использует Sptitlebreadcremb в почти аналогичном порядке.Вот мой 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>
.

Свойство Term показывает таксономию навигации по управляемым метаданным текущей страницы, но не предоставляет гиперссылок.

 <!--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>

Я смог получить панирум, работающую с управляемой навигацией, используя следующий элемент управления на главной странице

<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