我们的设置有各种网站,其中一些是主网站的现场照片。我们正在尝试确定我们所在的网页是否为livecopy。如果是这样,试着让它的父母和父母的子女。这允许我们确定每个页面的兄弟姐妹然后使用我们想要的方式。
使用cq可以轻松实现吗?
答案 0 :(得分:7)
检查网页是否为实时副本
您可以使用LiveRelationshipManager
,可以从资源解析器中进行调整:
resourceResolver.adaptTo(LiveRelationshipManager.class)
它有方法hasLiveRelationship
,如果传递的资源是其他东西的实时副本,它将返回true
。您可以调用此方法传递当前组件资源。
家长和兄弟姐妹
使用PageManager
和Page
方法:
// resource - current component resource
ResourceResolver resolver = resource.getResourceResolver();
PageManager pageManager = resolver.adaptTo(PageManager.class);
Page currentPage = pageManager.getContainingPage(resource);
Page parentPage = currentPage.getParent();
Iterator<Page> siblings = parentPage.listChildren();