【问题标题】:In AEM query builder order by based on someproperty=somevalue在 AEM 查询生成器中,基于 someproperty=somevalue 排序
【发布时间】:2017-08-22 14:57:43
【问题描述】:

我正在尝试根据特定属性的特定值对 AEM 查询生成器搜索结果进行排序。正如我们在 MySQL 等任何数据库中一样,我们也可以根据列的值进行排序(对于 exp.ORDER BY FIELD('columnName','anyColumnName')。我们可以在 AEM 中有这样的东西吗?

假设我们在路径 /content/dam/Assets 下有 5 个资产。

资产名称------------dc:title

1.jpg------------------苹果

2.jpg------------------猫

3.jpg------------------猫

4.jpg------------------球

5.jpg-----------------拖动

我需要在 dc:title = cat 的结果之上的资产,并且还需要在 asc 排序中也需要其他结果。预期结果如下

2.jpg------------------猫

3.jpg------------------猫

1.jpg------------------苹果

4.jpg------------------球

5.jpg-----------------拖动

注意:- 使用版本 AEM 6.2

【问题讨论】:

    标签: java adobe aem query-builder


    【解决方案1】:

    您可以使用值为@jcr:content/metadata/dc:titleorderby 谓词通过dc:titleQueryBuilder 进行排序。 /libs/cq/search/content/querydebug.html 是在您的实例上测试查询的接口。 ACS Commons 很好地分解了所有现成的谓词

    如果您想通过单个查询将 Cats 拉到结果的顶部,您可以编写一个自定义谓词。来自 ACS Commons 的示例代码显示了一个示例。 Adobe 也有 documentation

    【讨论】:

    • 谢谢@bfitzpatrick ....你能不能多说明一下自定义谓词,我可以根据值订购 dc:title
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多