【问题标题】:Can't find the tags for a DAM Asset找不到 DAM 资产的标签
【发布时间】:2016-03-07 17:32:18
【问题描述】:

我的 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。有谁知道我这样做是否正确?

【问题讨论】:

    标签: java aem dam


    【解决方案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.
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 2022-08-13
      相关资源
      最近更新 更多