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.
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 ?
Solved! Go to Solution.
@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.
@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.
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