java - 如何在 AEM 中获取集合中的所有 Assets ?

标签 java aem query-builder

我正在尝试在给定集合路径的情况下获取 AEM 集合中的所有 Assets 。

假设集合的路径是 /content/dam/collections/public/-/-XZMzZlhkJKIa7-Mg15h/testing

我需要获取此集合中的所有 Assets 。

我在 content/dam/collections 下检查过 Assets 没有存储在这个位置

我什至尝试在 AEM 的查询构建器中编写一个查询,给出 type:dam:asset 和路径:“集合的位置”

我无法得到任何结果。

我只需要在Java或QueryBuilder中获取集合下的所有 Assets

最佳答案

将 Assets 存储在集合中不是一个好主意,因为 Assets 可以是多个集合的一部分。就像在播放列表中一样, Assets 仅在集合中被引用。

每个集合都有一个子节点“sling:members”。此子节点有一个(多值)属性 sling:resources,它保存对该集合成员的每个 Assets 的引用。 最重要的是,sling:members 还具有类型为 nt:unstructured 的子节点,每个 Assets 都具有属性 sling:resource 和 Assets 路径。

enter image description here

因此,您可以迭代属性值或子节点以获取对 Assets 的引用,然后在其原始位置访问它们。

HTH

关于java - 如何在 AEM 中获取集合中的所有 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57795551/

相关文章:

java - 如何在单个请求中发送多个 JSON (Jmeter)

java - 试图拿到一手牌来显示西装符号

java - org.apache.commons.mail,version=[1.3,2) -- 无法解决 CQ5(AEM) 中的问题

php - Symfony2 QueryBuilder 按 ID 顺序返回产品查询

python - 我如何使用pypika连接到数据库?

java - 无法找到逻辑名称为 : product 的列

java - 从apache lucene索引中获取数据并填写到JTable中

java - 自定义 Sling POST Servlet 不工作

pdf-generation - 使用 CQ5 的 Apache FOP

php - Symfony 2 : INNER JOIN on non related table with doctrine query builder