无法找到DAM资产

时间:2016-03-07 17:32:18

标签: java cq5 dam

我的DAM中有资产。我使用以下代码将其引用为resource

    TagManager tagManager = resourceResolver.adaptTo(TagManager.class);
    Tag[] tags = tagManager.getTags(resource);
    log.warn(tags.length + " tags found for resource:" + resource.getPath());

这会将我的资产有0个标签转储到日志中。然而,当我在DAM管理员中查看此资产时,它显示它有几个标签。

我在这里使用文档:https://docs.adobe.com/docs/en/cq/5-6-1/developing/tagging.html。有谁知道我这样做是对吗?

1 个答案:

答案 0 :(得分:1)

标签存储在DAM资产的元数据节点中(请参阅AEM文档中的Taggable Content)。因此,您将无法直接从资产资源中获取标记。

相反,您可以从资产的元数据中读取标记,如下所示。

TagManager tagManager = resourceResolver.adaptTo(TagManager.class);
Asset asset = resource.adaptTo(Asset.class);
Object[] tags = asset.getMetaData("cq:tags");

for (Object obj : tags) {
     Tag tag = tagManager.resolve(obj.toString());
    //Do something with your tag.
}