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

links transformation

Avatar

Level 4

Hi All,

 

I got following use case and looking for options as well clarity on sling rewrite transformer factory, transformer.

 

mobile app will access AEM site urls with a query parameter "mobile=true" and header, footer needs to be hidden.

 

options:

1. append query param "mobile=true" to all anchor elements hrefs

2. use sling rewrite transformer factory, transformer to transform all anchor urls.

3. store a cookie on first request and if cookie exists or url has query param - hide header, footer

 

Question: If I go in transformer route, does it transform only content urls that exists or does it transform all internal, external urls ?

 

thanks.

Sri

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi,

Why don't you use css to hide or javascript to hide/delete header/footer on page load. It will be easy, maintainable and client side.



Arun Patidar

View solution in original post

8 Replies

Avatar

Correct answer by
Community Advisor

Hi,

Why don't you use css to hide or javascript to hide/delete header/footer on page load. It will be easy, maintainable and client side.



Arun Patidar

Avatar

Level 4

@arunpatidar on first request from mobile app , I can do that. once mobile app got response from aem page - which is having lot of links to articles, other aem site pages. If user clicks on any of the link that should also not have header and footer : means somehow I need to have a handle to know, to display mobile view without header and footer, all the time, serving different aem pages. As mobile app first request , mobile app could append "mobile" param but after that all other requests are internal to aem site and need to hide header, footer on click of going to any other aem pages.

Avatar

Community Advisor
Generally this kind of request handles using selector and aem response based on selector where you don't include haeder and footer in mobile.html file. Add selector to all internal links which start with /content/yourproj also using linktransformer


Arun Patidar

Avatar

Level 4

@arunpatidar thanks for usage of "selector" idea, I can try that. One question though (which I asked in original question) : Does Transformer transforms only /content links ? there are absolute urls which are external sites as well as organization other aem sites, regular websites.

Avatar

Community Advisor
No, you can parse any kind of links and update. I have code example in case you need.


Arun Patidar

Avatar

Level 4

@arunpatidar example helps and appreciated. But, I wanted only /content links to have selector. As I do not want to control other than aem content pages.

Avatar

Community Advisor

https://github.com/arunpatidar02/aem63app-repo/blob/master/java/CustomLinkChecker.java  is the sample code example which parse only internal links , you can restrict execution of this link rewriter for links from rewriter config



Arun Patidar