Pregunta

Estoy trabajando con SharePoint 2013 y edité mi página maestra HTML en SharePoint Designer para mostrar una ruta de navegación como la que teníamos en SharePoint 2010.El código se coloca después del ID "DeltaPlaceHolderPageTitleInTitleArea" en la página maestra y es el siguiente:

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

Si bien esto muestra un rastro de ruta de navegación, no lo muestra como esperaba que fuera.Digamos que tengo una colección de sitios llamada "Intranet" y estoy en un subsitio llamado "General".En el subsitio "General", estoy en una página llamada "Introducción".Esta página (y todas las demás páginas de este subsitio) se administran mediante conjuntos de términos.

Mostraría un rastro como este:Intranet > General > Introducción

Pero ahora, digamos que en mi conjunto de términos, tengo otros 2 términos que son elementos secundarios del término "Introducción", estos elementos secundarios (términos secundarios) se denominan "Historial" y "Ubicaciones".Si estuviera en la página "Historial", sería simplemente otra página directamente debajo del subsitio "General".

Mostraría una ruta de navegación como esta:Intranet > General > Historia
Si bien me gustaría que se mostrara así:Intranet > General > Introducción > Historia

Estoy un poco desconcertado acerca de esto, ya que no parece entender qué debo hacer para que la ruta de navegación detecte qué página es un término secundario y cuál es el término principal, etc.

¡Gracias de antemano por tu ayuda!

EDITAR:Básicamente lo que busco es algo como el ejemplo en este blog.Sólo que quiero evitar el uso de un elemento web.Me gustaría realizar cambios en JavaScript o directamente en la página maestra.

¿Fue útil?

Solución

¡He encontrado una manera de obtener una hoja de pan jerárquica utilizando los valores de la navegación subsitista impulsada por el término! :)

Al encontrar el elemento de la lista en la navegación (lo que significa que tiene la URL en la página en la que está ENCENDIDO), puedo bucle a través de la lista y recoja todos los elementos principales.
Sobre la base de esos elementos de los padres, ahora conozco la jerarquía y puedo usar los valores de esos elementos para crear una hoja de pan.

Aquí hay una captura de pantalla de la panorita como lo conocemos: Old Breadcrumb
Y aquí hay una captura de pantalla de la hoja de pan que tengo actualmente, con la ayuda de JavaScript: ingrese la descripción de la imagen aquí
Como se puede ver, ahora muestra el camino completo a una página. He escrito una nueva POST En mi blog sobre mi respuesta con todo el código necesario, incluidas las piezas de código que debe agregar y reemplazar en su página maestra.

No dude en preguntar si tiene problemas con el código o si necesita ayuda.

Otros consejos

Como Robert dice que puedo implementar fácilmente que utilice SPTITLEBREADSCRUGE de manera casi similar.Aquí está mi código HTML en la página de diseño:

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

La propiedad de término muestra la taxonomía de navegación de metadatos administrados de la página actual, pero no proporciona hipervínculos.

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

O use JavaScript como este (necesita mucho más trabajo para ser completamente funcional)

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

Pude haber trabajado con la navegación administrada con el siguiente control en una página maestra

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

Otra opción es utilizar el control SPTITLEBREADSCRUGITO como se muestra a continuación:

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

Licenciado bajo: CC-BY-SA con atribución
scroll top