Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

How to retrieve path of subpages

Avatar

Level 2

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.

@AEM 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@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();
	}
}

 

View solution in original post

2 Replies

Avatar

Correct answer by
Community Advisor

@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();
	}
}

 

Avatar

Community Advisor

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.