【问题标题】:Setting Search Center URL in SharePoint 2013 using Javascript CSOM使用 Javascript CSOM 在 SharePoint 2013 中设置搜索中心 URL
【发布时间】:2014-02-28 21:22:16
【问题描述】:

在 SharePoint 2013 中,我尝试通过 JavaScript CSOM 访问搜索对象。

我想知道可以让我访问站点设置下的搜索设置的对象。 我尝试在 SP 对象下查找,但在那里没有找到任何与搜索相关的对象。

我的目标是通过 JavaScript CSOM 更改搜索中心 URL。

提前致谢!!!

【问题讨论】:

    标签: javascript sharepoint sharepoint-2013 csom


    【解决方案1】:

    如何通过 CSOM 在 SharePoint 2013 中设置搜索设置

     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());
       });
    

    【讨论】:

      【解决方案2】:

      给定网站的搜索中心 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");
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-17
        • 2015-06-22
        • 1970-01-01
        • 2016-01-03
        • 2016-04-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多