PLP页面上的自动建议

2020-09-01 04:56发布

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

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


请让我知道如何在PLP页面上启用自动建议。 假设我们在PLP的搜索框中搜索字符时,需要列出带有该字符的建议产品。 让我知道如何实施。 预先感谢。

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

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


请让我知道如何在PLP页面上启用自动建议。 假设我们在PLP的搜索框中搜索字符时,需要列出带有该字符的建议产品。 让我知道如何实施。 预先感谢。

付费偷看设置
发送
2条回答
Doze时光
1楼 · 2020-09-01 05:13.采纳回答

您好Yeshwanth Kumar Thotam Setty,

要从头开始实施自动提示,您必须:

  • 在solr.impex文件中,通过将useForAutocomplete属性更改为true来创建/更新产品类型的SolrIndexedProperty并执行solr索引编制
 $ solrIndexedType = productType

 INSERT_UPDATE SolrIndexedProperty;  solrIndexedType(identifier)[unique = true]; 名称[unique = true];  useForAutocomplete [默认=假]
                                  ;  $ solrIndexedType; 代码; 真正
                                  ;  $ solrIndexedType; 名称               ; 真正
 
  • 您必须在SearchPageController中创建方法,该方法将调用solrProductSearchFacade以获取建议。 根据您的需求,可以只是建议(字符串)或"完整产品对象"。 请检查以下示例代码:
 @ResponseBody
 @RequestMapping(value ="/img/autocomplete",方法= RequestMethod.GET)
 公共List  getAutocompleteSuggestions(@RequestParam(" term")最终String术语)
 {
    最后的String termSanitized = SecurityUtil.sanitize(term);
    最终List 项=新的ArrayList ();
    为(最终AutocompleteSuggestionData termData:solrProductSearchFacade.getAutocompleteSuggestions(termSanitized))
    {
       terms.add(termData.getTerm());
    }
    返回条款;
 } 
 @ResponseBody
 @RequestMapping(值="/img/autocomplete/" + COMPONENT_UID_PATH_VARIABLE_PATTERN,方法= RequestMethod.GET)
 public AutocompleteResultData getAutocompleteSuggestions(@PathVariable最终字符串componentUid,
       @RequestParam(" term")最终String项)引发CMSItemNotFoundException
 {
    最后的String termSanitized = SecurityUtil.sanitize(term);
    最终的AutocompleteResultData resultData = new AutocompleteResultData();

    resultData.setSuggestions(subList(solrProductSearchFacade.getAutocompleteSuggestions(termSanitized),MAX_PRODUCTS_ELEMENTS));;
    resultData.setProducts(subList(solrProductSearchFacade.textSearch(termSanitized).getResults(),MAX_PRODUCTS_ELEMENTS));
    返回resultData;
 } 
  • 您必须在JS文件中实现事件处理,该事件应映射到搜索输入。 在将新值写入搜索输入期间-ajax函数应通过发送您编写的术语来调用方法,然后处理响应并更新UI。

希望这会有所帮助,

伊戈尔

My梦
2楼-- · 2020-09-01 05:06

非常感谢伊戈尔。

我的问题已解决。

一周热门 更多>