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