我正在使用AEM 6.1,需要根据可用的标记列表动态填充过滤器列表。标签是嵌套的,因此有一个区域标签,然后国家标签嵌套在其中,然后城市标签嵌套在其国家/地区内。我需要检索该区域及其所有子项,我尝试使用ajax调用来返回它们,但它似乎只返回顶级节点而没有子节点。关于JS Use API与Tag Manager的交互,似乎没有太多信息。非常感谢能够指引我朝正确方向发展的任何信息或链接。
答案 0 :(得分:1)
TagManager
类隐式对象在Sightly Global objects list
您需要使用TagManager
和其他全局可用对象获取adaptTo
的实例
var resourceResolver = resource.getResourceResolver();
var tagManager = resourceResolver.adaptTo(Packages.com.day.cq.tagging.TagManager);
答案 1 :(得分:0)
为什么你真的需要使用JS使用API? JS使用API在服务器端而不是客户端,即使它们是Javascript。
我猜你可能会通过Java use API来做到这一点。你只需要获得标记的路径并使其适应Tag。查看下面的示例。
Resource tagResource = getResourceResolver().getResource(tagPath);
if (tagResource != null) {
final Iterable<Resource> children = tagResource.getChildren();
final Iterator<Resource> itr = children.iterator();
while (itr.hasNext()) {
final Resource item = itr.next();
final Tag tag = item.adaptTo(Tag.class);
if (tag != null) {
//Put in map or list to be returned to sightly html.
}
}
}
BTW你可以在JS use API中编写 Java代码。查看Blog