Question

Nous utilisons SharePoint 2010 Standard et avons un scénario dans lequel il existe un site d'équipe avec les fonctionnalités de publication activées.Nous avons une page maître personnalisée (une version légèrement modifiée de v4.master - avec des contrôles supplémentaires sur mesure) et un CSS personnalisé.

Le problème est que dans tout site autre que le niveau supérieur d’une collection de sites, le contrôle Top Navigation semble ignorer les paramètres de navigation sur les pages de contenu.

La page maître personnalisée est définie comme page maître du système ainsi que comme page maître du site (obligatoire pour le site d'équipe) et toutes les modifications de navigation apparaissent parfaitement sur toutes les pages du dossier _layouts.Cependant, toutes les pages créées par les utilisateurs (définies par défaut sur un type de « Page Wiki » - qui, à ma connaissance, utilise le modèle ~14/TEMPLATE/DocumentTemplates/wkpstd.aspx) n'affichent pas la navigation correcte.

La navigation affichée est la suivante :

  • Collection de sites de niveau supérieur (correct) :HomeLink [lien créé manuellement], Link1, Link2, Link3, Link4
  • Sous-site :HomeLink (incorrect, puisque les paramètres sont définis sur « hériter du parent »)

Tous les paramètres de navigation sont corrects et ont été vérifiés et testés dans d'autres environnements.

Quelqu'un a-t-il une idée de pourquoi cela ne fonctionne pas ?Nous avons vérifié les PlaceHolders contradictoires ou remplaçants dans tous les modèles que nous pensions pouvoir être utilisés, mais nous n'avons rien trouvé faisant référence aux PlaceHolders standard que nous utilisons (PlaceHolderTopNavBar et PlaceHolderHorizontalNav).

Les contrôles utilisés pour afficher le menu sont les contrôles par défaut :

<SharePoint:AspMenu ID="TopNavigationMenuV4"
Runat="server" EnableViewState="false"
DataSourceID="topSiteMap"
AccessKey="<%$Resources:wss,navigation_accesskey%>"
UseSimpleRendering="true" UseSeparateCss="false"
Orientation="Horizontal" StaticDisplayLevels="5"
MaximumDynamicDisplayLevels="0" SkipLinkText=""
CssClass="s4-tn" />

<asp:SiteMapDataSource ShowStartingNode="False"
SiteMapProvider="GlobalNavSiteMapProvider"
id="topSiteMap" runat="server" />

Merci d'avance

Était-ce utile?

La solution 2

OK, nous avons enfin compris la cause du problème.

Suite à l'activation de la fonctionnalité de publication sur le site d'équipe, les paramètres de navigation changent.

Dans notre page maître (basée sur un Team Site v4.master), le contrôle du menu supérieur a été configuré pour utiliser un DataSource renvoyant un objet SiteMapDataSource.Cependant, depuis l'activation de la fonctionnalité de publication, nous devions utiliser GlobalNavigation, qui est en fait un PortalSiteMapProvider, ce qui nécessite de générer un PortalSiteMapProvider objet comme votre DataSource pour le AspMenu contrôle (si vous l'utilisez).

Par conséquent, nous avons remplacé le code asp:SiteMapDataSource ci-dessus par :

PublishingNavigation:PortalSiteMapDataSource
    StartFromCurrentNode="true"
    ShowStartingNode="false"
    SiteMapProvider="GlobalNavigation"
    id="topSiteMap"
    runat="server"

Nous pouvons désormais utiliser la navigation comme prévu.

Autres conseils

Ceci est probablement un problème connu qui est ma supposition intuitive, car je suis exactement confronté à la même situation avant tout en créant une navigation cohérente qui commune dans toute la ferme, tandis que toutes les collections de sites étaient un site d'équipe utilisant des fonctionnalités de publication.À l'époque, la chose qui l'a fait fonctionner était une substitution de niveau de la ferme qui n'était pas une très bonne approche, mais nous y sommes allés.

Nous avons effectué les modifications exactes de la commande utilisateur TOPNAVBAR résident dans

"C: \ Fichiers de programme \ Fichiers communs \ Microsoft Shared \ WEB Server Extensions \ 14 \ Modèle \ ControlTemplates \ topnavbar.ascx"

Pour le faire correspondre avec le code source Masterpage TopNavBar.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top