2016-03-07 4 views
0

У меня есть актив в моем DAM. Я ссылка на него в resource со следующим кодом:Невозможно найти теги для DAM Asset

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

Теги хранятся в узле метаданных DAM Asset (см. Taggable Content в документах AEM). Следовательно, вы не сможете напрямую получить теги из ресурса.

Вместо этого вы можете прочитать теги из метаданных актива, как показано ниже.

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. 
} 
Смежные вопросы