【问题标题】:SharePoint 2013 list search box and Client Site Rendering (JSLink)SharePoint 2013 列表搜索框和客户端网站呈现 (JSLink)
【发布时间】:2014-02-18 10:11:34
【问题描述】:

我正在尝试实现常见问题解答手风琴 SharePoint 列表。 我在使用 JSLink 时设法让手风琴工作。 可悲的是,搜索无法正常工作。 我在我的 JSLink js 中使用了以下代码:

(function () {
/*
 * Initialize the variable that store the overrides objects.
 */
var overrideCtx = {};
overrideCtx.Templates = {
    Header: function(ctx) {
            var headerHtml =  RenderTableHeader(ctx);
            headerHtml += "</table>";
            headerHtml += "<div id='accordion'>";
            return headerHtml;
        },
    Footer: function (ctx) {
        return "</div>";
                        },
    Item: function(ctx) {
        // Build a listitem entry for every announcement in the list.
        var ret = "<h3 class='OutlookFAQ'>"+ctx.CurrentItem.Title+"</h3><div style='display:none;' class='OutlookFAQContent'><p>"+ctx.CurrentItem.Answer+"</p></div>";
        return ret;
    }

};


overrideCtx.BaseViewID = 1;
overrideCtx.ListTemplateType = 100;



overrideCtx.OnPostRender = [];
overrideCtx.OnPostRender.push(function()
{
    $('#accordion h3').click(function(e) {
            $(e.target).next('div').siblings('div').slideUp();
            $(e.target).next('div').slideToggle();
    });
});

SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx);

})();

我很伤心,手风琴正在工作,搜索框正在显示。如果我尝试提交搜索,则会弹出 sp.ui.listsearchbox.js 中的 JS 错误“TypeError:this.$T_3 is null”。 有什么想法吗?

问候

勒内

【问题讨论】:

标签: javascript sharepoint sharepoint-2013 csr


【解决方案1】:

由于缺少 Search Status 元素而发生此错误,该元素是搜索控件的一部分并在 Footer 模板中呈现

搜索状态

搜索状态元素用于显示有关搜索结果的提示。 RenderSearchStatus函数用于渲染搜索状态

解决方案

替换页脚渲染模板

Footer: function (ctx) {
    return "</div>";   
}

Footer: function (ctx) {
   var footerHtml = "</div>";
   footerHtml += RenderFooterTemplate(ctx);  //render standard footer (pager, search status)
   return footerHtml;   
}

博文Customize the rendering of a List View in Sharepoint 2013: Displaying List Items in Accordion 包含呈现为手风琴的列表视图的工作示例。

【讨论】:

  • 太好了,感谢您的帮助。搜索现在正在工作,至少部分是这样。执行搜索时,渲染完全错误,清除搜索时,渲染更糟。我认为我的 JS 代码在某种程度上是错误的。任何想法如何解决?
  • 嗯.. 答案已更新,提到的帖子描述了如何自定义列表视图以将其呈现为手风琴
猜你喜欢
  • 1970-01-01
  • 2012-11-18
  • 2013-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
相关资源
最近更新 更多