【问题标题】:Hide / Remove Content Search Webpart when no results returned SharePoint 2013没有返回结果时隐藏/删除内容搜索 Webpart SharePoint 2013
【发布时间】:2014-12-25 17:14:08
【问题描述】:

如果查询没有返回任何结果,我正在寻找一种方法来隐藏整个内容搜索 web 部件(包括 web 部件标题和边框区域)。

我尝试了什么

  1. 有这个属性:“ShouldHideControlWhenEmpty”但是当没有结果时它什么都不做。 Web 部件仍然可见。 Webpart 周围有一个标题和边框,因此当没有结果时,标题和边框显示没有结果。就像我说的那样,我想在那种情况下隐藏整个事情。

  2. 编写了一个 jQuery 脚本,用于搜索文本“没有结果”消息(当没有结果时来自 web 部件)并隐藏 web 部件。但是,页面加载后会出现短暂的闪烁,因为 web 部件首先会呈现一瞬间,然后由于我的 jQuery 脚本而消失 - 这不是很好的 UI 体验。

  3. 所以我想我可以扩展 OOTB ContentBySearchWebPart 并获取某种可以让我获得结果计数的属性。如果结果计数为 0,我将隐藏 webpart 服务器端。我查看了在线文档 - 我找不到任何可以利用的东西。 帮助?谢谢!

【问题讨论】:

    标签: sharepoint sharepoint-2013 web-parts sharepoint-search


    【解决方案1】:

    使用 jquery 的选项 2 很好,但只需 翻转 你现在正在做的方法。如果 web 部件为空,则不要隐藏 web 部件,而是默认隐藏 web 部件,并且仅在内容可用时可见。这是方法。

    1. 添加一个带有 CSS 代码的内容编辑器/脚本编辑器 Web 部件,默认情况下隐藏(记住只标记显示无/可见 false,不要删除)内容搜索 Web 部件。将样式代码放在内容搜索 Web 部件上方,以确保页面加载时内容搜索 Web 部件不可见。
    2. 在页面加载期间检查内容搜索 webpart 是否包含 result ,如果 webpart 包含 result ,则使 webpart 可见。在这里您将搜索文本“没有结果”消息,如果它存在则您什么都不做,否则您使 web 部件可见,因为这意味着有可用的搜索结果。

    通过这种方式,您将消除当前方法的闪烁问题。

    【讨论】:

      猜你喜欢
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      • 2023-03-12
      相关资源
      最近更新 更多