WebNavigationSettings - Classe
Gère les paramètres de navigation d'un site de publication.
Hiérarchie d’héritage
System.Object
Microsoft.SharePoint.Publishing.FreezableObject
Microsoft.SharePoint.Publishing.Navigation.WebNavigationSettings
Espace de noms : Microsoft.SharePoint.Publishing.Navigation
Assembly : Microsoft.SharePoint.Publishing (dans Microsoft.SharePoint.Publishing.dll)
Syntaxe
'Déclaration
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class WebNavigationSettings _
Inherits FreezableObject
'Utilisation
Dim instance As WebNavigationSettings
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class WebNavigationSettings : FreezableObject
Remarques
La classe SiteNavigationSettings gère les paramètres de navigation qui sont spécifiques aux PortalSiteMapProvider des objets qui sont stockés avec l'objet SPSite pour un site de publication. La classe WebNavigationSettings fournit des paramètres supplémentaires qui sont enregistrés avec l'objet SPWeb . Ces paramètres supplémentaires développez le modèle de navigation pour prendre en charge le passage d'un PortalSiteMapProvider (« navigation structurée ») et un TaxonomySiteMapProvider (« géré navigation »).
Exemples
L'exemple suivant illustre la création d'un ensemble de termes d'échantillon, puis en configurant un site SharePoint pour utiliser la navigation de taxonomie avec l'ensemble de termes d'échantillon.
using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Taxonomy;
using Microsoft.SharePoint.Publishing.Navigation;
namespace NavigationDemos
{
public class Class1
{
public static readonly Guid NavTermSetId = new Guid("<GUID>");
public static readonly Guid TaggingTermSetId = new Guid("<GUID>");
//Creates the sample term set. If it exists, it will be deleted
public static NavigationTermSet RecreateSampleNavTermSet(TaxonomySession taxonomySession, SPWeb web)
{
// Use the first TermStore in the list
if (taxonomySession.TermStores.Count == 0)
throw new InvalidOperationException("The Taxonomy Service is offline or missing");
TermStore termStore = taxonomySession.TermStores[0];
// Does the TermSet already exist?
TermSet existingTermSet = termStore.GetTermSet(NavTermSetId);
if (existingTermSet != null)
{
//If the TermSet exists, delete it.
existingTermSet.Delete();
termStore.CommitAll();
}
// Create a new TermSet
Group siteCollectionGroup = termStore.GetSiteCollectionGroup(web.Site);
TermSet termSet = siteCollectionGroup.CreateTermSet("Navigation Demo", NavTermSetId);
NavigationTermSet navTermSet = NavigationTermSet.GetAsResolvedByWeb(termSet, web,
StandardNavigationProviderNames.GlobalNavigationTaxonomyProvider);
navTermSet.IsNavigationTermSet = true;
navTermSet.TargetUrlForChildTerms.Value = "~site/Pages/Topics/Topic.aspx";
NavigationTerm term1 = navTermSet.CreateTerm("Term 1", NavigationLinkType.SimpleLink);
term1.SimpleLinkUrl = "https://www.bing.com/";
NavigationTerm term2 = navTermSet.CreateTerm("Term 2", NavigationLinkType.FriendlyUrl);
NavigationTerm term2a = term2.CreateTerm("Term 2 A", NavigationLinkType.FriendlyUrl);
NavigationTerm term2b = term2.CreateTerm("Term 2 B", NavigationLinkType.FriendlyUrl);
NavigationTerm term3 = navTermSet.CreateTerm("Term 3", NavigationLinkType.FriendlyUrl);
termStore.CommitAll();
return navTermSet;
}
//Configures the web site to use Taxonomy navigation with the sample term set.
public static NavigationTermSet SetUpSampleNavTermSet(TaxonomySession taxonomySession, SPWeb web)
{
NavigationTermSet termSet = RecreateSampleNavTermSet(taxonomySession, web);
// Clear out any old settings
WebNavigationSettings webNavigationSettings = new WebNavigationSettings(web);
webNavigationSettings.ResetToDefaults();
webNavigationSettings.GlobalNavigation.Source = StandardNavigationSource.TaxonomyProvider;
webNavigationSettings.GlobalNavigation.TermStoreId = termSet.TermStoreId;
webNavigationSettings.GlobalNavigation.TermSetId = termSet.Id;
webNavigationSettings.CurrentNavigation.Source = StandardNavigationSource.TaxonomyProvider;
webNavigationSettings.CurrentNavigation.TermStoreId = termSet.TermStoreId;
webNavigationSettings.CurrentNavigation.TermSetId = termSet.Id;
webNavigationSettings.Update(taxonomySession);
TaxonomyNavigation.FlushSiteFromCache(web.Site);
return termSet;
}
}
}
Cohérence de thread
Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.
Voir aussi
Référence
WebNavigationSettings - Membres