我们的设置有各种网站,其中一些是来自主站点的实时副本。我们正在尝试确定我们所在的页面是否是 livecopy。如果是这样,请尝试获取其父母和父母的孩子。这允许我们确定每个页面的兄弟姐妹然后使用我们想要的方式。
使用 cq 可以轻松实现吗?
我们的设置有各种网站,其中一些是来自主站点的实时副本。我们正在尝试确定我们所在的页面是否是 livecopy。如果是这样,请尝试获取其父母和父母的孩子。这允许我们确定每个页面的兄弟姐妹然后使用我们想要的方式。
使用 cq 可以轻松实现吗?
检查页面是否为 Live Copy
您可以使用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();