如何从术语库共享点在线列出术语中存在的所有标签

时间:2018-06-21 14:24:38

标签: jquery sharepoint sharepoint-online sharepoint-jsom

我正在使用以下代码使用GUID获取所有条款。

var context = SP.ClientContext.get_current();
var session = SP.Taxonomy.TaxonomySession.getTaxonomySession(context);
var termStore = session.getDefaultSiteCollectionTermStore();
var parentTermId = '894e81d3-c0d5-477d-952f-582ba564fa1b'; //parent Term Id
var parentTerm = termStore.getTerm(parentTermId);
var terms = parentTerm.get_terms();  //load child Terms
context.load(terms, 'Include(IsRoot, Labels, TermsCount, CustomSortOrder, Id, IsAvailableForTagging, Name, PathOfTerm, Parent, TermSet.Name)');
context.executeQueryAsync(
function(){
   //print child Terms
   for(var i = 0; i < terms.get_count();i++){

    var term = terms.getItemAtIndex(i);
    var term_name = term.get_name();
    var term_parent = term.get_parent();
    var terms_count = term.get_termsCount();
    }
  }, function(sender,args){
   console.log(args.get_message());    
 });

目前,我正在正确地获得术语计数属性。我想列出该术语中出现的所有标签。

1 个答案:

答案 0 :(得分:0)

  

我想列出该术语中出现的所有标签。

SP.Taxonomy.Term.labels property-获取当前Term对象的Label对象的集合。

在您的示例中,标签可以这样打印:

for(var i = 0; i < terms.get_count();i++){
   var term = terms.getItemAtIndex(i);
   //...

   //print labels of term  
   term.get_labels().get_data().forEach(function(lbl){
      console.log(lbl.get_value());     
   });
}
相关问题