Настройка URL-адреса центра поиска в SharePoint 2013 с помощью Javascript CSOM

В SharePoint 2013 я пытаюсь получить доступ к объекту поиска через JavaScript CSOM.

Я хочу знать объект, который может предоставить мне доступ к настройкам поиска в разделе «Настройки сайта». Я попытался найти объект SP, но не нашел там ни одного объекта, связанного с поиском.

Моя цель - изменить URL-адрес центра поиска с помощью JavaScript CSOM.

Заранее спасибо!!!


person nks    schedule 14.03.2013    source источник


Ответы (2)


Как установить параметры поиска в SharePoint 2013 через CSOM

 function updateSearchSettings(searchSenterUrl,resultsPageUrl,Success,Error) {
   var context = SP.ClientContext.get_current();
   var web = context.get_site().get_rootWeb();
   var props =  web.get_allProperties();

   props.set_item("SRCH_ENH_FTR_URL_SITE",searchSenterUrl);
   props.set_item("SRCH_SB_SET_SITE",JSON.stringify({"Inherit":false,"ResultsPageAddress":resultsPageUrl,"ShowNavigation":false}));
   web.update();

   context.load(props);
   context.executeQueryAsync(
     function () {
        var searchCenterUrl = props.get_item("SRCH_ENH_FTR_URL_SITE");
        var searchPageProps = JSON.parse(props.get_item("SRCH_SB_SET_SITE"));
        Success(searchCenterUrl,searchPageProps);
     },
     Error
   );
}


//Usage
updateSearchSettings("/sites/search/pages2","/sites/search/pages/default.aspx",function(searchCenterUrl,searchPageProps){
         console.log('Search Center Url:' + searchCenterUrl);
         console.log('Results Page Url:' + searchPageProps.ResultsPageAddress);
   },
   function (sender, args) {
        console.log("Error: " + args.get_message());
   });
person Vadim Gremyachev    schedule 28.02.2014

URL-адрес центра поиска для данного веб-сайта хранится в сумке свойств для этого веб-сайта, в RootWeb вы также можете установить URL-адрес центра поиска для сайта.

В 2013 году ключи изменились с 2010 года, теперь они SRCH_ENH_FTR_URL_WEB и SRCH_ENH_FTR_URL_SITE соответственно. Код для их установки выглядит примерно так:

var ctx = new SP.ClientContext.get_current();
var web = ctx.get_site().get_rootWeb();
var props =  web.get_allProperties();
props.set_item("SRCH_ENH_FTR_URL_SITE","/sites/search/pages");
web.update();     
ctx.load(web);     
ctx.executeQueryAsync(function () {
    alert("Search Settings Modified");
 },
 function() {
  alert("failed");
});
person GavinB    schedule 29.11.2013