我正在尝试在给定集合路径的情况下获取 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 路径。
因此,您可以迭代属性值或子节点以获取对 Assets 的引用,然后在其原始位置访问它们。
HTH
关于java - 如何在 AEM 中获取集合中的所有 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57795551/