Skip to main content
Level 2
Mar 18, 2021 7:20 AM UTC
Solved

How to retrieve path of subpages

Hi All,

String [ ] parentpagepath;

Suppose parentpagepath[0] = /content/project/page1

 parentpagepath[1] = /content/project/page2

 

If page1 has subpages subpage1 and subpage2

page2 has subpages subpage3 and subpage4, how to iterate over parent path to retrieve path of the subpages?

 

Thanks in advance.

@1709464 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Anudeep_Garnepudi
Anudeep_GarnepudiAccepted solution
Community Advisor
Mar 18, 2021 8:13 AM UTC

@helen_dd 

Get the PageManager (can get using @ScriptVariable in SlingModel or adapt ResourceResolver) and try below code.

for (String eachPage : parentpagepath) { Page page = pageManager.getPage(eachPage); Iterator<Page> childPages = page.listChildren(); while (childPages.hasNext()) { Page eachChildPage = childPages.next(); } }

 

AG

2 replies

Anudeep_Garnepudi
Community Advisor
Anudeep_GarnepudiCommunity AdvisorAccepted solution
Community Advisor
Mar 18, 2021 8:13 AM UTC

@helen_dd 

Get the PageManager (can get using @ScriptVariable in SlingModel or adapt ResourceResolver) and try below code.

for (String eachPage : parentpagepath) { Page page = pageManager.getPage(eachPage); Iterator<Page> childPages = page.listChildren(); while (childPages.hasNext()) { Page eachChildPage = childPages.next(); } }

 

Translate
AG
Umesh_Thakur
Community Advisor
Community Advisor
Mar 18, 2021 9:39 AM UTC

Just get the currentPage and from there you can take a resource and iterate the listChildren of the resource that is pretty easy and convenient to use.

 Wherever is possible always try to use Sling API instead of JCR API.

Translate