Aem 我可以在搜索和升级中的特定方面下选择两个复选框吗

Aem 我可以在搜索和升级中的特定方面下选择两个复选框吗,aem,search-and-promote,Aem,Search And Promote,我使用搜索和升级云服务,并使用facetapi检索Facet值 我的用例就像我有一个facet“state”(state是在etc/tags文件夹下创建的标记),我将这个facet标记到我的页面上 如果我说facet.getItems,我将获得facet“State”的所有facet项,在我的例子中,每个facet项都是一个复选框,因此我迭代每个facet并获得该facet的查询字符串 当我单击其中一个复选框(FaceItems)时,我会将复选框(FaceItem)中的查询字符串附加到搜索查询

我使用搜索和升级云服务,并使用facetapi检索Facet值

我的用例就像我有一个facet“state”(state是在etc/tags文件夹下创建的标记),我将这个facet标记到我的页面上

如果我说facet.getItems,我将获得facet“State”的所有facet项,在我的例子中,每个facet项都是一个复选框,因此我迭代每个facet并获得该facet的查询字符串

当我单击其中一个复选框(FaceItems)时,我会将复选框(FaceItem)中的查询字符串附加到搜索查询

当我点击第一个复选框时,我没有任何问题,我可以得到查询字符串,但是当我点击另一个复选框时(第一个复选框已经被选中),我没有得到第二个复选框的方面值。那么,我可以知道搜索和升级是否只允许选择一个方面项目吗? 下面是我的代码片段

    <%@page import="com.day.cq.wcm.api.WCMMode,
            com.day.cq.searchpromote.Search,
            com.day.cq.searchpromote.xml.result.FacetList,
            com.day.cq.searchpromote.xml.result.Facet,
            com.day.cq.searchpromote.xml.result.FacetValue,
            com.day.text.Text"%>

     String facetName = properties.get("cq:facetname", ""); (in my case facetName is a state which is actually a tag defined under etc/tags)
     Facet facet = search.getFacet(facetName); 
      for(FacetValue facetValue: facet.getItems()) {   //iterating over all the checkboxes )


      String queryString = xssAPI.getValidHref(facetValue.getQueryString()); //this is returning value only if I check one check box, it is not returning any querystring for the second checkbox.

   %>
   <li>
       <input onclick="alert('queryString'+'<%= queryString %>');   window.location = '<%= queryString %>';" type="checkbox" name="<%= valueLabelAttr %>" />  </li>
   <%
      }


   %>

字符串facetName=properties.get(“cq:facetName”,”);(在我的例子中,facetName是一个状态,实际上是在etc/tags下定义的标记)
Facet=search.getFacet(facetName);
for(FacetValue FacetValue:facet.getItems()){//遍历所有复选框)
String queryString=xssAPI.getValidHref(facetValue.getQueryString());//仅当我选中一个复选框时,它才返回值,而不会为第二个复选框返回任何queryString。
%>

  • 以上代码片段仅在我选中一个复选框时有效,如果我选中第二个复选框,我将为第二个复选框获取空值,因此我的查询仅针对第一个复选框形成。因此,只想知道搜索和升级是否只允许一个方面项(复选框)要选择吗?

    getFacet如果找不到方面,则返回null。首先使用getFacets()列出所有方面方法并验证第二个方面是否在列表中i checked Pooja,Im获取所有方面的值,因为现在我们正在与Adobe一起检查此GetFacet,如果找不到方面,则返回null。首先使用getFacets()列出所有方面方法并验证第二个方面是否在列表中i checked Pooja,我正在获取所有方面的值,因为现在我们正在与Adobe就此进行检查