Freigeben über


WebNavigationSettings-Klasse

Die Navigationseinstellungen für eine Veröffentlichungssite verwaltet.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.Publishing.FreezableObject
    Microsoft.SharePoint.Publishing.Navigation.WebNavigationSettings

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

Syntax

'Declaration
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class WebNavigationSettings _
    Inherits FreezableObject
'Usage
Dim instance As WebNavigationSettings
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class WebNavigationSettings : FreezableObject

Hinweise

Die SiteNavigationSettings -Klasse verwaltet die Navigationseinstellungen, die auf den PortalSiteMapProvider gespeicherten Objekte mit dem SPSite -Objekt für eine Veröffentlichungssite spezifisch sind. Die WebNavigationSettings -Klasse stellt zusätzliche Einstellungen, die mit dem SPWeb -Objekt gespeichert sind. Diese zusätzlichen Einstellungen erweitern das Navigationsmodell um unterstützen das Wechseln zwischen einer PortalSiteMapProvider ("strukturierte Navigation") und einen TaxonomySiteMapProvider ("verwaltet Navigation").

Beispiele

Im folgende Beispiel veranschaulicht einen Beispielausdruckssatz erstellen und Konfigurieren einer SharePoint-Website, um Taxonomie Navigation mit dem Beispielausdruckssatz verwenden.

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

WebNavigationSettings-Member

Microsoft.SharePoint.Publishing.Navigation-Namespace

SiteNavigationSettings