Comment désactiver par programme les pages d'affichage dans la navigation pour SharePoint
-
03-07-2019 - |
Question
Je crée progressivement un site SharePoint à l'aide de
SPWeb spWeb = spSite.AllWebs.Add(...);
Quel code dois-je exécuter pour configurer le spWeb afin qu'il désactive le " Afficher les pages dans la navigation " option?
Réponse:
publishingWeb.IncludePagesInNavigation = false;
La solution
Je n'étais pas sûr de moi, mais j'ai pu localiser ceci . :
Modification de la navigation est un autre commun tâche de marque car elle affecte ce les utilisateurs peuvent voir et comment ils peuvent procéder à travers une hiérarchie de site. le Microsoft.SharePoint.Publishing l'espace de noms expose plusieurs classes cibler le site de publication infrastructure, telle que PublishingWeb et PublishingPage. En utilisant ces classes, on peut facilement modifier navigation pour chaque site. Si tu veux un enfant Web à afficher en tant que niveau racine site en navigation globale, premier tour hors héritage du site parent, comme si:
publishingWeb.InheritGlobalNavigation = false;
Vous pouvez aussi vouloir cacher tout le site pages de navigation globale. Réglage IncludePagesInNavigation to false cache toutes les pages du site, indépendamment du fait que le PublishingPage.IncludeInGlobalNavigation propriété est définie sur true
// do not show pages in navigation
publishingWeb.IncludePagesInNavigation = false;
Si vous utilisez des sites par défaut qui n'héritent pas de PublishingWeb, il est encore possible de cacher ces sites de la barre de navigation globale. Par exemple, si vous créez un site collection utilisant la collaboration modèle de portail et que vous souhaitez exclure le site de nouvelles de la navigation globale, ajouter ce site à la __GlobalNavigationExcludes propriété du site:
string globalNavExcludes = String.Empty;
SPWeb webSite = MSDNSiteCollection.RootWeb;
// _GlobalNavigationExcludes property contains a delimited string of
// GUIDs identifying the Id of each site to be excluded from global
// navigation
if (webSite.AllProperties.ContainsKey("__GlobalNavigationExcludes")) {
globalNavExcludes =
webSite.AllProperties["__GlobalNavigationExcludes"].ToString();
}
SPWeb newsSite = MSDNSiteCollection.AllWebs["News"];
// string is delimited "{GUID};{GUID};",
// use format code B to convert to string
globalNavExcludes += String.Concat(currentWeb.ID.ToString("B"), ";");
webSite.AllProperties["__GlobalNavigationExcludes"] = globalNavExcludes;
webSite.Update();
Ajout de nœuds de navigation directement à un SPNavigationNodeCollection est un bon moyen d'afficher uniquement les nœuds que vous souhaitez ainsi que pour regrouper les nœuds et les liens vers sites externes. La figure 10 montre comment ajouter un lien interne, un lien externe, et un en-tête à la navigation globale bar. Cet exemple aborde certaines des les propriétés du SPNavigation classe qui affecte si le lien ouvre dans une nouvelle fenêtre et comment gérer les URL vides.
Autres conseils
Pour SP 2010, utilisez ci-dessous ...
publishingWeb.Navigation.GlobalIncludePages = false;