私たちのセットアップにはさまざまな Web サイトがあり、そのうちのいくつかはメイン サイトからのライブコピーです。現在表示しているページがライブコピーであるかどうかを判断しようとしています。その場合は、その親とその親の子を取得してみてください。これにより、各ページの兄弟を決定して、必要に応じて使用できます。
これはcqを使用して簡単に達成できますか?
私たちのセットアップにはさまざまな Web サイトがあり、そのうちのいくつかはメイン サイトからのライブコピーです。現在表示しているページがライブコピーであるかどうかを判断しようとしています。その場合は、その親とその親の子を取得してみてください。これにより、各ページの兄弟を決定して、必要に応じて使用できます。
これはcqを使用して簡単に達成できますか?
ページがライブコピーかどうかの確認
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();