Share via


NavigationTerm - Classe

Spécifie le comportement de navigation et des propriétés pour un objet Term qui est utilisé pour piloter la navigation et les URL conviviales pour un site Web.

Hiérarchie d’héritage

System.Object
  Microsoft.SharePoint.Publishing.Navigation.NavigationTermSetItem
    Microsoft.SharePoint.Publishing.Navigation.NavigationTerm

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 MustInherit Class NavigationTerm _
    Inherits NavigationTermSetItem
'Utilisation
Dim instance As NavigationTerm
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public abstract class NavigationTerm : NavigationTermSetItem

Remarques

Cette classe est analogue à la classe Term dans l'espace de noms Microsoft.SharePoint.Taxonomy .

La classe NavigationTerm ajoute des propriétés et des opérations qui sont spécifiques à la navigation gérée. L'état supplémentaire est stocké dans la propriété CustomPropeties() et accessibles uniquement via des classes dans l'espace de noms Microsoft.SharePoint.Publishing.Navigation . Un objet NavigationTerm appartient à un objet NavigationTermSet .

Les objets NavigationTerm et NavigationTermSet ont deux modes : un mode « modifiable » et un mode "lecture seule". objets de NavigationTerm sont stockés dans le cache de navigation taxonomie, qui est accessible à l'aide de fonctions dans la classe statique TaxonomyNavigation .

Exemples

L'exemple suivant illustre la création d'un ensemble de termes d'échantillon, puis en configurant un site web de SharePoint Server pour utiliser la navigation gérée 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

NavigationTerm - Membres

Microsoft.SharePoint.Publishing.Navigation - Espace de noms

NavigationTermSet

NavigationTermSetItem.GetAsEditable