1
function execOperation() {
    var context = SP.ClientContext.get_current();

    //Current Taxonomy Session
    var taxSession = SP.Taxonomy.TaxonomySession.getTaxonomySession(context);

    //Term Stores
    var termStores = taxSession.get_termStores();

    //Name of the Term Store from which to get the Terms.
    var termStore = termStores.getByName(att["data-termname"]);

    $.each(att["data-termset"].split(','), function (i, x) {

        var termSet = termStore.getTermSet(x); //Guid // 5719b9cf-8da0-4a03-bc33-f47c81fb696a
        console.log(termSet.get_name()); // <- this one dont work ofc.

        var terms = termSet.getAllTerms();
        context.load(terms);
        context.executeQueryAsync(function () {

            var termEnumerator = terms.getEnumerator();
            while (termEnumerator.moveNext()) {
                var currentTerm = termEnumerator.get_current().$2_0.$K_0;



                var TermPath = currentTerm.PathOfTerm.split(';');
            }
        });

    })
}

I'm using this code to access my Managed Meta data. The problem I can't seem to solve it how do I get the name of termSet.

As you can see in the image below, I used the guid to load "Menu" from "Popermo Navigation", But when i run console.log(termSet) I cant find the name anywhere.

enter image description here

Is there a way to get the name Aka "Menu"?

As you can see in the image below.

1

You need to explicitly load the termSet. JSOM only fetches the data that you request for.

Modify the code as below, will work:

var termSet = termStore.getTermSet(x); //Guid // 5719b9cf-8da0-4a03-bc33-f47c81fb696a

var terms = termSet.getAllTerms();

//load the term set here and request its data
context.load(termSet);

context.load(terms);

context.executeQueryAsync(function () {

    // you will get the name here 
    // need to explicitly load the termset
    console.log(termSet.get_name());

    var termEnumerator = terms.getEnumerator();
    while (termEnumerator.moveNext()) {
        var currentTerm = termEnumerator.get_current();
        // get data from term 
        var TermPath = currentTerm.get_pathOfTerm();
        var TermName = currentTerm.get_name();
    }
});

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.