Come posso disattivare a livello di programmazione le pagine di visualizzazione nella navigazione per sharepoint
-
03-07-2019 - |
Domanda
Sto creando in modo progammatico un sito di SharePoint usando
SPWeb spWeb = spSite.AllWebs.Add(...);
Quale codice devo eseguire per impostare spWeb per disattivare " Mostra pagine nella navigazione " opzione?
Risposta:
publishingWeb.IncludePagesInNavigation = false;
Soluzione
Non ero sicuro di me stesso ma sono stato in grado di individuare questo :
La modifica della navigazione è un altro comune compito di branding poiché influisce su cosa gli utenti possono vedere e come possono procedere attraverso una gerarchia del sito. Il Microsoft.SharePoint.Publishing lo spazio dei nomi espone diverse classi che indirizzare il sito di pubblicazione infrastruttura, come PublishingWeb e PublishingPage. Usando questi classi, possiamo facilmente modificarle navigazione per ogni sito. Se vuoi un Web figlio da visualizzare come livello principale sito in navigazione globale, prima svolta fuori eredità dal sito padre, in questo modo:
publishingWeb.InheritGlobalNavigation = false;
Potresti anche voler nascondere tutto il sito pagine dalla navigazione globale. Ambientazione IncludePagesInNavigation su false nasconde tutte le pagine del sito, indipendentemente dal fatto che il PublishingPage.IncludeInGlobalNavigation la proprietà è impostata su true
// do not show pages in navigation
publishingWeb.IncludePagesInNavigation = false;
Se hai a che fare con siti predefiniti che non ereditano da PublishingWeb, è ancora possibile nasconderli siti dalla barra di navigazione globale. Ad esempio, se si crea un sito raccolta utilizzando la collaborazione modello di portale e si desidera escludere il sito di notizie dalla navigazione globale, aggiungi quel sito al __GlobalNavigationExcludes property of the 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();
Aggiunta di nodi di navigazione direttamente a un SPNavigationNodeCollection è un bene modo per visualizzare solo i nodi desiderati nonché per raggruppare nodi e collegamenti a siti esterni. La Figura 10 mostra come aggiungere un collegamento interno, un collegamento esterno, e una voce verso la navigazione globale bar. Questo esempio riguarda alcuni dei le proprietà di SPNavigation classe che influenza se il collegamento si apre in una nuova finestra e come gestire URL vuoti.
Altri suggerimenti
Per SP 2010 utilizzare di seguito ...
publishingWeb.Navigation.GlobalIncludePages = false;