Many time there are some cases. when people add or updates the publishing page it requires to set some field values. In this case I have covered Taxonomy Field.
Following code will get current publishing page and set Taxonomy field Page Type to its value.
Following code will get current publishing page and set Taxonomy field Page Type to its value.
// Comment
jQuery(document).ready(function () {
var pagelayout = "";
//current context
var context = SP.ClientContext.get_current();
// current web
var web = context.get_web();
// get pages library of current site
var currentPageLibrary = web.get_lists().getById(_spPageContextInfo.pageListId);
// get and load page item which is rendered
var currentPageItem = currentPageLibrary.getItemById(_spPageContextInfo.pageItemId);
context.load(currentPageItem);
context.executeQueryAsync(function() {
// get pagelayoutname
var itm = currentPageItem.get_item("PublishingPageLayout");
if(itm != null)
pagelayout = itm.get_description();
// get id of TaxonomyField Id
var countriesControlId =jQuery("div[id*='Taxonomy_ctl02']").attr('id');
// get all taxonomy from term store and set value to field
TaxonomyOperations(countriesControlId,pagelayout);
});
});
//Set Taxonomy ControlObject value
//webTaggingId - TaxonomyWebTaggingControl ID
//termValue - represents a single value held in a TaxonomyField object using the following format: NameOfTerm | GUIDOfTerm
function setTaxonomyControlObjectValue(webTaggingId, termValue) {
var webTaggingCtl = $get(webTaggingId);
var taxCtlObj = new Microsoft.SharePoint.Taxonomy.ControlObject(webTaggingCtl);
taxCtlObj.enableControl(true);
taxCtlObj.setRawText(termValue);
taxCtlObj.retrieveTerms();
}
function TaxonomyOperations(countriesControlId,pagelayoutname) {
//Current Context
var ctx = SP.ClientContext.get_current();
//Current Taxonomy Session
var taxoSession = SP.Taxonomy.TaxonomySession.getTaxonomySession(ctx );
//Term Stores
var trmStores = taxoSession.get_termStores();
//Name of the Term Store from which to get the Terms.
var trmStore = trmStores.getByName("Taxonomy_/2w8F+c5EEwppwXCWYn/w=="); // Taxonomy_/2w8F+c5EEwppwXCWYn/w== (Term Store ID)
//GUID of Term Set from which to get the Terms.
var termSet = trmStore.getTermSet("---TermStoreGUID----");
// get all terms
var terms = termSet.getAllTerms();
context.load(terms);
context.executeQueryAsync(function () {
var termEnumerator = terms.getEnumerator();
var termList = "";
// loop all termSet
while (termEnumerator.moveNext()) {
var currentTerm = termEnumerator.get_current();
var termvalue = currentTerm.get_name();
var termid = currentTerm.get_id();
// Match term name and pagelayoutname
if(termvalue == pagelayoutname)
{
termList += termvalue +'|'+termid;
// call function for setting up taxonomy controls
setTaxonomyControlObjectValue(countriesControlId, termList);
}
}
}, function (sender, args) {
console.log(args.get_message());
});
}
Comments
Post a Comment