Compartilhar via


TaxonomyNavigation classe

Fornece operações comuns relacionadas ao recurso de navegação gerenciado, URLs amigáveis e cache de navegação de taxonomia.

Inheritance hierarchy

System.Object
  Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigation

Namespace:  Microsoft.SharePoint.Publishing.Navigation
Assembly:  Microsoft.SharePoint.Publishing (em Microsoft.SharePoint.Publishing.dll)

Sintaxe

'Declaração
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class TaxonomyNavigation
'Uso
Não é necessário declarar uma instância de uma classe estática para acessar seus membros.
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public static class TaxonomyNavigation

Comentários

O recurso de navegação gerenciado permite que o menu de navegação de um site ser modelado usando um objeto de TermSet de taxonomia, bem como fornecendo um modelo para a implementação de URLs amigáveis para o site. As classes principais para esse recurso são TaxonomyTermSetProvider, que aciona os menus de navegação; NavigationTermSet, que estende a classe de TermSet de taxonomia com propriedades adicionais relacionados a navegação e a classe WebNavigationSettings , que define as configurações. A classe estática TaxonomyNavigation fornece operações gerais adicionais relacionadas a esse recurso.

Exemplos

O exemplo a seguir demonstra a criação de um conjunto de termos de exemplo e, em seguida, configurar um site do SharePoint para usar navegação de taxonomia com o conjunto de termos de exemplo.

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;
        }
    }
}

Segurança de thread

Os membros públicos estática (Shared no Visual Basic) desse tipo são seguros para thread. Nenhum membro de instância pode ser garantido como seguro para thread.

Ver também

Referência

TaxonomyNavigation membros

Microsoft.SharePoint.Publishing.Navigation namespace