J'ai un portail sharepoint avec un site racine et 3 sous-sites, pour implémenter le menu horizontal du portail j'utilise le GlobalNavSiteMapProvider. Pour le fil d'Ariane j'ai choisi d'utiliser le CurrentNavSiteMapProviderNoEncode. Dans la sous-section navegation, je sélectionne les options "Afficher les pages" (si je ne vérifie pas cette option, le breacrumb n'affiche pas le bon chemin pour les pages subsites) et "Afficher la même navegation du site principal". Le breacrumb fonctionne pour toutes les pages mais le menu dans les pages d'accueil des sous-sites au lieu de montrer la navigation globale du site racine montre les pages qui y ont été créées (dans les pages de sous-sites le menu fonctionne bien et montre la navegation globale). Si je décoche les "Afficher les pages" dans navegation sous-site, le menu fonctionne bien dans toutes les pages, mais le lien ne fonctionne bien sur les pages du site racineSharePoint SiteMapProvider - Aide
0
A
Répondre
0
Ce que j'ai fait dans le passé est de définir un nouveau fournisseur de navigation dans le web.config qui est dédié spécialement pour le fil d'Ariane.
<add name="BreadCrumbSiteMapProvider"
description="CMS provider for Breadcrumb navigation"
type="Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider,
Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c"
NavigationType="Combined"
EncodeOutput="false"
IncludePages="Always"
IncludeHeadings="true"
IncludeAuthoredLinks="true" />
Ajoutez ceci à la section du site/fournisseurs de votre web.config et pointez votre contrôle de navigation pour le nouveau fournisseur
L'attribut IncludePages = « always » remplace le paramètre que vous avez pour la case à cocher "Afficher les pages".
Merci Paul, avec votre suggestion, le fil d'Ariane fonctionne toujours bien. Mais je continue avec un problème avec menu et GlobalNavSiteMapProvider. Avec votre solution je peux décocher l'option "afficher les pages", et avec cela le menu fonctionne bien dans toutes les pages (y compris la page d'accueil). Mon problème maintenant est que j'ai un css diferent pour l'élément actuel de menu et par exemple dans ce cas: la page actuelle =/news/news1.aspx (nouvelles de sous-site + page news1.aspx) le Provider.CurrentNode est "/ news/"et l'élément de menu" news "sera rendu avec le template sélectionné ce qui est faux. – jdcorr
Je ne suis pas sûr de comprendre le problème maintenant. Êtes-vous capable de créer un lien vers une capture d'écran quelque part, ce qui pourrait expliquer un peu mieux? –
Le problème est que si je ne vérifie pas le "Afficher les pages" et si par exemple je suis dans une page d'un sous-site, la propriété CurrentNode du GlobalNavSiteMapProvider est la racine du sous-site à la place de la page. Pour résoudre cela dans mon menu de navegation personnalisé pour vérifier si un nœud représente la page en cours, je compare l'URL de la page (au lieu de la propriété de nœud actuelle) avec l'URL du nœud. – jdcorr