Has anyone tried to use Javascript API to get Navigation Term in Sharepoint? I found the code in MSDN but did not have any clue to use it.
(v=office.15).aspx
Could you please to tell me how I can get current page Navigation Term or get Navigation Term by id using javascript?
Thanks.
Has anyone tried to use Javascript API to get Navigation Term in Sharepoint? I found the code in MSDN but did not have any clue to use it.
http://msdn.microsoft./en-us/library/office/jj994618(v=office.15).aspx
Could you please to tell me how I can get current page Navigation Term or get Navigation Term by id using javascript?
Thanks.
Share Improve this question asked Dec 25, 2014 at 3:32 longvh92longvh92 751 silver badge6 bronze badges1 Answer
Reset to default 9You could utilize SP.Publishing.Navigation.NavigationTermSet.getAsResolvedByWeb Method to retrieve Navigation Term Set object. The following example demonstrates how to retrieve Navigation Term Set object and find Navigation Term:
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () {
SP.SOD.registerSod('sp.taxonomy.js', SP.Utilities.Utility.getLayoutsPageUrl('sp.taxonomy.js'));
SP.SOD.executeFunc('sp.taxonomy.js', 'SP.Taxonomy.TaxonomySession', function () {
SP.SOD.registerSod('sp.publishing.js', SP.Utilities.Utility.getLayoutsPageUrl('sp.publishing.js'));
SP.SOD.executeFunc('sp.publishing.js', 'SP.Publishing.Navigation.NavigationTermSet', function () {
var navTermSetId = 'ccef718f-fc01-4d27-b877-431f2e4bf136';
var navTermId = '1b04f1b2-f5f4-4c7b-a87f-28fb8665824b';
loadNavigationTermSet(navTermSetId,
function(navTermSet){
for(var i = 0;i < navTermSet.get_terms().get_count();i++) {
var navTerm = navTermSet.get_terms().getItemAtIndex(i);
if(navTerm.get_id().toString() == navTermId){
console.log(navTerm.get_taxonomyName());
}
}
},
function(sender, args)
{
console.log('Request failed ' + args.get_message() + ':'+ args.get_stackTrace());
}
);
});
});
});
where
function loadNavigationTermSet(navTermSetId,success,error)
{
var ctx = SP.ClientContext.get_current();
var taxonomySession = SP.Taxonomy.TaxonomySession.getTaxonomySession(ctx);
var termStore = taxonomySession.getDefaultSiteCollectionTermStore(); //retrieve default Term Store
var termSet = termStore.getTermSet(navTermSetId);
var navTermSet = SP.Publishing.Navigation.NavigationTermSet.getAsResolvedByWeb(ctx,termSet, ctx.get_web(), "GlobalNavigationTaxonomyProvider");
ctx.load(navTermSet,'Terms');
ctx.executeQueryAsync(function(){
success(navTermSet);
},
error);
}
Example 2
The following example demonstrates how to retrieve Navigation Terms:
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () {
SP.SOD.registerSod('sp.taxonomy.js', SP.Utilities.Utility.getLayoutsPageUrl('sp.taxonomy.js'));
SP.SOD.executeFunc('sp.taxonomy.js', 'SP.Taxonomy.TaxonomySession', function () {
SP.SOD.registerSod('sp.publishing.js', SP.Utilities.Utility.getLayoutsPageUrl('sp.publishing.js'));
SP.SOD.executeFunc('sp.publishing.js', 'SP.Publishing.Navigation.NavigationTermSet', function () {
var navTermSetId = 'ccef718f-fc01-4d27-b877-431f2e4bf136';
loadNavigationTerms(navTermSetId,
function(navTerms){
for(var i = 0;i < navTerms.get_count();i++) {
var navTerm = navTerms.getItemAtIndex(i);
console.log(navTerm.get_id().toString());
console.log(navTerm.get_title().get_value());
console.log(navTerm.get_categoryImageUrl());
}
},
function(sender, args)
{
console.log('Request failed ' + args.get_message() + ':'+ args.get_stackTrace());
}
);
});
});
});
where
function loadNavigationTerms(navTermSetId,success,error)
{
var ctx = SP.ClientContext.get_current();
var taxonomySession = SP.Taxonomy.TaxonomySession.getTaxonomySession(ctx);
var termStore = taxonomySession.getDefaultSiteCollectionTermStore(); //retrieve default Term Store
var termSet = termStore.getTermSet(navTermSetId);
var navTermSet = SP.Publishing.Navigation.NavigationTermSet.getAsResolvedByWeb(ctx,termSet, ctx.get_web(), "GlobalNavigationTaxonomyProvider");
var navTerms = navTermSet.get_terms();
ctx.load(navTerms,'Include(Id,Title,CategoryImageUrl)');
ctx.executeQueryAsync(function(){
success(navTerms);
},
error);
}