Comment désactiver par programme les pages d'affichage dans la navigation pour SharePoint

StackOverflow https://stackoverflow.com/questions/228145

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;
Était-ce utile?

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;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top