覆盖PCMBackoffice中的FullTextSearchController

2020-09-06 00:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试覆盖PCM Backo...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试覆盖PCM Backoffice中的FullTextSearchController,以便在用户登录时不填充产品列表。我希望用户明确搜索产品。

我可以通过重写FullTextSearchController并定义自己的控制器来做到这一点。

我正在运行的问题是,当我单击目录选择时,该事件不会更新内容浏览器中的内容。 OOTB FullTextSearchController可以很好地工作。

我已经复制了套接字连接。

附件是我的definition.xml文件。 definition.xml

附件是我的widgets.xml文件。 widgets.xml

12772-definition.txt (1.3 kb)
4条回答
半个程序猿
2020-09-06 00:55 .采纳回答

通过自定义,可以防止在文本不为空白时执行搜索。 如果用户留空输入并单击目录选择,添加一些过滤器,您的搜索也将跳过。 为了在用户单击目录,目录版本(搜索输入为空)时处理搜索执行,您必须基于 AdvancedSearchData 结构构建更复杂的条件。

  @Override
  受保护的boolean doSimpleSearch()
  {
      boolean searchExecuted = false;

      最终AdvancedSearchInitContext上下文= getValue(MODEL_INIT_CONTEXT,AdvancedSearchInitContext.class);

      最终List  catalogVersionConditions = context.getAdvancedSearchData()。getConditions(" catalogVersion");

      如果(StringUtils.isNotBlank(getSearchText())|| CollectionUtils.isNotEmpty(catalogVersionConditions))
      {
          searchExecuted = super.doSimpleSearch();
      }

      返回searchExecuted;
  }

  

当然,以上代码不是最终解决方案。 您必须考虑其他搜索部分,例如过滤器。 所有这些数据都存储在 context.getAdvancedSearchData()中,因此您应该仔细验证它们。

我希望我能大致解释它是如何工作的。 干杯!

一周热门 更多>