2015-03-13 3 views
2

мне нужно пройти курсовое имя в качестве параметра и возвращает идентификатор GUID этого конкретного термина в SharePoint 2013, JSOMПолучить GUID По TermName - jsom

В качестве примера, если я прохожу «Мой срок 1» он должен вернуться соответствующий GUID «Мой термин 1».

enter image description here

var termGuid=getTermByName('My Term 1'); 
 

 
function getTermByName(TermName){ 
 
    return term.get_id(); 
 
}

ответ

0

SP.Taxonomy.TermStore.getTerms Method могут быть использованы для нахождения Term в TermStore.

В следующем примере показано, как найти Term ярлыком с помощью JSOM:

function findTermsByLabel(label,success,error) 
{ 
    var ctx = SP.ClientContext.get_current(); 
    var ts = SP.Taxonomy.TaxonomySession.getTaxonomySession(ctx); 
    var matchInfo = new SP.Taxonomy.LabelMatchInformation(ctx); 
    matchInfo.set_termLabel(label); 
    matchInfo.set_trimUnavailable(true); 
    var termMatches = ts.getTerms(matchInfo); 
    ctx.load(termMatches); 
    ctx.executeQueryAsync(
     function(){ 
      var terms = termMatches.get_data(); 
      success(terms); 
     }, 
     error);  
} 

Использование

SP.SOD.registerSod('SP.ClientContext', SP.Utilities.Utility.getLayoutsPageUrl('sp.js')); 
SP.SOD.registerSod('SP.Taxonomy.TaxonomySession', SP.Utilities.Utility.getLayoutsPageUrl('sp.taxonomy.js')); 
SP.SOD.loadMultiple(['SP.ClientContext', 'SP.Taxonomy.TaxonomySession'], function(){ 

    var termLabel = '--term label goes here--'; 

    findTermsByLabel(termLabel, 
    function(terms){ 
     if(terms.length == 0) 
      console.log('Term has not been found'); 
     else if(terms.length > 1)  
      console.log(String.format("Several Terms exist with '{0}' label",termLabel)); 
     else { 
      console.log(String.format('Term has been found: {0}'),terms[0].get_id().toString());  
     }  
    }, 
    function(sender,args){ 
     console.log(args.get_message()); 
    }); 

}); 
+0

Я попробовал этот код, но он всегда дает «Срок не был найден» .. еще не уверен в причине .. (Я правильно назвал существующий термин) – Chathura