Expand my Community achievements bar.

SOLVED

Page manager return null for mapped page with Sling Mapping

Avatar

Level 1

Hi All,

I am using Sling Mapping (configurations are located under /etc/map) for mapping the resources , e.g. /content/path/en should get page /content/path_real/en.

When I try to get resource via resourceResolver.getResource("/content/path/en") it works correctly and return the resource under path /content/path_real/en.

But when I try to get page via pageManger.getPage(""/content/path/en") it returns null.

Is there any way to configure pageManager so they also use sling mapping configuration from /etc/map folder?

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

The pagemanager does accept only repository paths, but not request paths (which can be mapped to resource paths).

Jörg

View solution in original post

3 Replies

Avatar

Community Advisor

If the resource at that path does not exist or is not adaptable to Page, null is returned.

are you doing like this?

PageManager pageManager = resolver.adaptTo(PageManager.class);

  if (pageManager != null) {

  Page page = pageManager.getPage(path);

or something like --

PageManager pageManager = resource.getResourceResolver().adaptTo(PageManager.class);

Page rootPage = pageManager.getPage(pagePath);

~ Prince

Avatar

Correct answer by
Employee Advisor

The pagemanager does accept only repository paths, but not request paths (which can be mapped to resource paths).

Jörg

Avatar

Level 10

As Jörg mentioned above,  get the resource first using resourceResolver.getResource("/content/path/en")

then use pageManger.getPage(resource.getPath())