Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

AEM as Cloud | Get all language copies of a page

Avatar

Level 6

Hi Folks,

 

I have a page (pagea), this page exist in en, fr, and de

 

Now this page has 3 language copies

 

I need to fetch all the existing language copies of page, how would I fetch it using some API.

Please do not suggest below 

http://localhost:4502/libs/wcm/core/content/pageinfo.json?path=/content/test/en/pagea

 

Any pointers is highly appreciated. 

 

Thanks,

Pradeep

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @pradeepdubey82 

 

Please try following API:

 

  for (final Page page : languagemanager.getLanguageRoots(res,
            currentPagePath)) {
        languagePages.put(page.getLanguage(false), page);
    }

Here getLanguageRoots() should return all Language copies of current page. The relevant language details can then be retreived via page.getLanguage()


Aanchal Sikka

View solution in original post

4 Replies

Avatar

Level 6

I could not see any method in https://github.com/adobe/aem-core-wcm-components/blob/main/bundles/core/src/main/java/com/adobe/cq/w...

 

Which is giving list of language copies of current page. 

My requirement is, let's say I am on pagea of en, then it should return list of language copies 

/content/test/fr/pagea

/content/test/de/pagea

Avatar

Level 6

Hi @pradeepdubey82 

Please check this java doc for LiveRelationshipManager interface which provides methods to get live copies of the given resource (in your case page resource).

https://developer.adobe.com/experience-manager/reference-materials/6-5/javadoc/com/day/cq/wcm/msm/ap...

 

 

Avatar

Correct answer by
Community Advisor

Hello @pradeepdubey82 

 

Please try following API:

 

  for (final Page page : languagemanager.getLanguageRoots(res,
            currentPagePath)) {
        languagePages.put(page.getLanguage(false), page);
    }

Here getLanguageRoots() should return all Language copies of current page. The relevant language details can then be retreived via page.getLanguage()


Aanchal Sikka