您的页面还有哪些其他可用属性(特别是管理页面)?例如,如果您有一个特定的属性添加到您的管理页面或您可以排序的其他页面,这可能会起作用。在我工作的一个网站上,我们有一个属性,我们将其放入某些名为 hideInNav 的内容项中。因此,按照这些思路,这就是我的做法:
map.put("group.1_group.1_property","jcr:content/hideInNav");
map.put("group.1_group.1_property.1_value","/content/somepath/you/want");
map.put("group.1_group.1_property.and","true");
map.put("group.1_group.1_property.operation","unequals");
我希望这有助于理解它。我理解正确吗?如果没有,请澄清,我会尽力提供更多帮助。
- - - - - - - -编辑 - - - - - - - - - - - -
如果您没有自定义属性,但您知道这些页面所在的路径,可能还有它们共有的默认属性(如 jcr:title),您可以尝试这样做。像这样:
map.put(1_group.0_path","/content/yoursite");
map.put(2_group.0_type","cq:Page");
map.put(3_group.fulltext","test text");
map.put(3_group.fulltext.relPath","jcr:content/@jcr:title");
当您运行 CQ 时,您可以看到这将如何在本地查询调试器上运行:
http://localhost:4502/libs/cq/search/content/querydebug.html?_charset_=UTF-8&query=http%3A%2F%2Flocalhost%3A4502%2Fcontent%2Fsalesportal%2Fen%2Fmobile%2Fresources.assets.get.json%3Fp.limit%3D7%0D%0A1_group.0_path%3D%2Fcontent%2Fyoursite%0D%0A2_group.0_type%3Dcq%3APage%0D%0A3_group.fulltext%3Dtest+text%0D%0A3_group.fulltext.relPath%3Djcr%3Acontent%2F%40jcr%3Atitle
希望这更有帮助。
编辑#2
这是我两个答案的摘要,希望也能回答您的最后评论。
为了更全面地回答你的问题(因为你还没有完全得到你想要的东西),我挖得更深一点来找到你需要的信息。作为参考,任何时候进行 XPath 查询时,这都是一个很好的工具:JCR Query Usecases - jboss
无论如何,您说您得到的结果不包括缺少“hideInNav”属性的项目。以下是获得这些结果的方法,特别是:
map.put("1_group.0_path","/content/yoursite");
map.put("2_group.0_type","cq:Page");
map.put("3_group.1_property","jcr:content/hideInNav");
map.put("3_group.1_property.1_value","not");
map.put("3_group.1_property.operation","not");
这样,您将在您想要的路径中搜索,获得您想要的结果类型(cq:Page,如果那是您真正要寻找的),并且您将获得没有该属性的结果'隐藏导航'。