SharePoint NavigationTermSet - 嵌套术语

时间:2017-06-28 13:06:46

标签: sharepoint office365 sharepoint-jsom

我正在尝试通过SharePoint JSOM访问术语库导航。

我的期限商店导航设置如下。

  • Navigation Link 1
    • 子导航链接1
    • 子导航链接2
  • Navigation Link 2

要访问术语库导航,请使用以下代码。

this.getNavigationTermSet=function(currentTermStore,navTermSetId){
  var deferred = $.Deferred();
  var termSet = currentTermStore.getTermSet(navTermSetId);
  var navTermSet = SP.Publishing.Navigation.NavigationTermSet.getAsResolvedByWeb(this.clientContext,termSet, this.clientContext.get_web(), "GlobalNavigationTaxonomyProvider");
  this.clientContext.load(navTermSet,'Terms');
  this.clientContext.executeQueryAsync(
    function(terms){
      deferred.resolve(navTermSet);
    },
    function(sender,args){
      deferred.reject(args.get_message());
    });
  return deferred;
}

代码将一个Termset Collection返回给看起来像这样的调用方法。

txCon.getNavigationTermSet(termStore,
   '6b361f3a-d8c5-40eb-89d0-c503a91eb033').then(function(navTerms){
       for(var i = 0 ; i<navTerms.get_terms().get_count();i++){
           var navTerm = navTerms.get_terms().getItemAtIndex(i); 
           console.log(navTerm.get_id() + " - "+ navTerm.get_taxonomyName());
         }
}

我可以循环使用条款,但我只能访问第一级。有没有人可以告诉我如何从那里访问第二个或任何其他嵌套级别?或者是否要求每个孩子的学期?我现在不明白;)

0 个答案:

没有答案