Я использую AEM 6.1 и вам нужно динамически заполнять список фильтров на основе списка доступных тэгов. Теги теги вложены так, что есть тег региона, затем вложенные внутри него теги страны, а затем теги городов, вложенные в их страны. Мне нужно получить регион и все его дочерние элементы, я попытался использовать вызов ajax, чтобы вернуть их, но он только возвращает мне узел верхнего уровня и ни одного из этих детей. По-видимому, не так много информации о взаимодействии API-интерфейса JS с диспетчером тегов. Очень благодарен за любую информацию или ссылки, которые могут указать мне в правильном направлении.Получить список тегов с Javascript Использовать API
1
A
ответ
1
TagManager
класса неявный объект не доступен в Sightly Global objects list
Вы должны были бы получить экземпляр TagManager
используя adaptTo
и других глобальных доступных объекты
var resourceResolver = resource.getResourceResolver();
var tagManager = resourceResolver.adaptTo(Packages.com.day.cq.tagging.TagManager);
0
Почему вам действительно нужно использовать JS использовать API ? API-интерфейсы JS используются на стороне сервера, а не на стороне клиента, даже если они Javascript.
Возможно, вам будет удобно выполнять это через API-интерфейс Java. вам просто нужно получить путь к тегу и адаптировать его к тегу. Проверьте образец ниже.
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 вы можете написать Java код внутри использования JS API. Проверка Blog