Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.

How to add scriptlet expression <%= %> inside anchor tag

Avatar

Level 2

Hi,

I have a use case where I need to create an anchor tag as below -

<a href="<%= target %>">Click Here</a>

AEM is not accepting this syntax and removing href itself. (I have tried all options in Link checker service and transformer)

I tested this in a non AEM html page and it work fine and did not get removed. How we can make AEM understand this as valid link and avoid removal of href values?

Little background why I need this - We are creating Email templates in AEM and that would be used in Adobe Campaign Standard (ACS) as email delivery.

I have to use this scriptlet expression in href because ACS "Content Block" (file where I can fetch dynamic values per user) only understands this expression and I need to populate dynamic values when emails are getting prepared in ACS.

Thanks for any help on this!

Thanks,

Ratna

5 Replies

Avatar

Employee Advisor

What you can do is to disable link-checking for this particular link. Can you check if [1] helps?

[1] Disable the AEM Link Checker

Avatar

Level 2

Hi Joerg,

Thanks for your reply!

Yes I tried that option but as soon as you put < or > signs as part of href value it remove the href attribute itself.

Even I tried other options like

- "Day CQ Link Checker Service" option "Special Link Prefix" by adding new entry for "<%" but that also didn't worked

- "Day CQ Link Checker Transformer" option "Rewrite element" by removing the default entry a:href, this also didn't worked

It appears HTL not accepting < or > signs as part of href.

Any other suggestions ?

Regards,

Ratna

Avatar

Community Advisor

Hi Ratna,

Just to enchance on Joerg correct reply there is another KB that explains it just a bit more, How to disable Link Checker or configure to mark links as valid in AEM KB is your source of truth for this issue.

You can force AEM to ignore your element by adding:

<a x-cq-linkchecker="skip" href="<%= target %>">Click Here</a>

Where x-cq-linkchecker="skip" would notify Link Checker to ignore this particular element all together.

Regards,

Peter

Avatar

Level 2

Hi Peter,

Thanks for your response!

I tried that too but it didn't worked and with this enforcement also it removes the href attribute.

Just add and to clarify that, this happens when I try creating an anchor link either using RTE or Content Fragment. For example use the this syntax "<a x-cq-linkchecker="skip" href="<%= target %>">Click Here</a>" in RTE as HTML source and it will show you as link, but the moment you save the changes in RTE and come out, it removes the href from anchor tag. Same is the case with Content Fragment.

When I use this same syntax directly on component html file it work fine, but that wont solve my purpose as my authors would need this ability to use this syntax to create any link during authoring.

Regards,

Ratna

Avatar

Level 2

Hi,

Not sure if you already solved it or not but try something like &lt;%= target %&gt; , it should work.