Adobe CQ。如何获取LiveCopy的蓝图页面

时间:2014-07-14 13:19:21

标签: java adobe cq5 jcr

我有一个页面(A),它是另一个页面(B)的LiveCopy,它是另一个蓝图页面(C)的LiveCopy。某些页面具有从LiveCopy到蓝图页面的更长层次结构。

那么如何以编程方式找到某些LiveCopy页面的Blueprint页面呢?我找到了solution如何检查页面是否为LiveCopy。但是如何找到她的蓝图页?

提前致谢

1 个答案:

答案 0 :(得分:2)

您将再次使用Tomek在该答案中链接的LiveRelationshipManager

首先致电getLiveRelationship&然后询问返回的LiveRelationship来源:

Resource pageA; //LiveCopy of Page B;
LiveRelationshipManager liveRelationshipManager = resourceResolver.adaptTo(LiveRelationshipManager.class);
PageManager pageManager = resourceResolver.adaptTo(PageManager.class);

LiveRelationship liveRelationship = liveRelationshipManager.getLiveRelationship(pageA, false);
String pageBPath = liveRelationship.getSourcePath();

Page pageB = pageManager.getPage(pageBPath);

上面的false方法上的getLiveRelationship指的是“高级状态” - 根据JavaDocs的说法,没有参考它是'耗时'计算。