Esta conversación ha sido bloqueada debido a la inactividad. Cree una nueva publicación.
Nivel 1
Nivel 2
Iniciar sesión en la comunidad
Iniciar sesión para ver todas las insignias
Esta conversación ha sido bloqueada debido a la inactividad. Cree una nueva publicación.
How do we write an OSGI Service that takes tag value and finds pages which are having tag value?
¡Resuelto! Ir a solución.
Vistas
Respuestas
Total de me gusta
Hello @Dvaraka
You could use a service to use https://developer.adobe.com/experience-manager/reference-materials/6-5/javadoc/index.html?com/day/cq... and pass desired tag id or path to get resources tagged with the tag.
Below is an example from https://github.com/adobe/aem-core-wcm-components/blob/main/bundles/core/src/main/java/com/adobe/cq/w...
private void populateTagListItems() { listItems = new ArrayList<>(); String[] tags = properties.get(PN_TAGS, new String[0]); boolean matchAny = properties.get(PN_TAGS_MATCH, TAGS_MATCH_ANY_VALUE).equals(TAGS_MATCH_ANY_VALUE); if (ArrayUtils.isNotEmpty(tags)) { Page rootPage = getRootPage(PN_TAGS_PARENT_PAGE); if (rootPage != null) { TagManager tagManager = resourceResolver.adaptTo(TagManager.class); RangeIterator<Resource> resourceRangeIterator = tagManager.find(rootPage.getPath(), tags, matchAny); if (resourceRangeIterator != null) { while (resourceRangeIterator.hasNext()) { Page containingPage = pageManager.getContainingPage(resourceRangeIterator.next()); if (containingPage != null) { listItems.add(containingPage); } } } } } }
Also see https://github.com/adobe/aem-core-wcm-components/blob/a7e377c6810dd2125a902d3ef3df5c92ec2a1719/bundl... look for method - getTagListItems
Vistas
Respuestas
Total de me gusta
Hello @Dvaraka
You could use a service to use https://developer.adobe.com/experience-manager/reference-materials/6-5/javadoc/index.html?com/day/cq... and pass desired tag id or path to get resources tagged with the tag.
Below is an example from https://github.com/adobe/aem-core-wcm-components/blob/main/bundles/core/src/main/java/com/adobe/cq/w...
private void populateTagListItems() { listItems = new ArrayList<>(); String[] tags = properties.get(PN_TAGS, new String[0]); boolean matchAny = properties.get(PN_TAGS_MATCH, TAGS_MATCH_ANY_VALUE).equals(TAGS_MATCH_ANY_VALUE); if (ArrayUtils.isNotEmpty(tags)) { Page rootPage = getRootPage(PN_TAGS_PARENT_PAGE); if (rootPage != null) { TagManager tagManager = resourceResolver.adaptTo(TagManager.class); RangeIterator<Resource> resourceRangeIterator = tagManager.find(rootPage.getPath(), tags, matchAny); if (resourceRangeIterator != null) { while (resourceRangeIterator.hasNext()) { Page containingPage = pageManager.getContainingPage(resourceRangeIterator.next()); if (containingPage != null) { listItems.add(containingPage); } } } } } }
Also see https://github.com/adobe/aem-core-wcm-components/blob/a7e377c6810dd2125a902d3ef3df5c92ec2a1719/bundl... look for method - getTagListItems
Vistas
Respuestas
Total de me gusta
Can you please elaborate the significance of 4th line of this code and also what are PN_TAGS_MATCH, TAGS_MATCH_ANY_VALUE??
Vistas
Respuestas
Total de me gusta
Vistas
me gusta
Respuestas
Vistas
me gusta
Respuestas
Vistas
me gusta
Respuestas
Vistas
me gusta
Respuestas