Expand my Community achievements bar.

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.