내 커뮤니티 업적 표시줄을 확대합니다.

Submissions are now open for the 2026 Adobe Experience Maker Awards.

Mark Solution

활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.

해결됨

AEM 6.5: HTL @ extension = 'html' doesn't work for external links

Avatar

Level 2

${ link @ extension = 'html' } if link is https://www.google.com/resources then the output is https://www.google.com/resources.html. This is not the expected behavior according to the documentation. Any help is appreciated. Thanks, Nikunj Jariwala

1 채택된 해결책 개

Avatar

정확한 답변 작성자:
Employee Advisor

If you want to remove the extension, you can use something like below:

${'https://www.google.com/resources' @  extension}

원본 게시물의 솔루션 보기

4 답변 개

Avatar

Employee Advisor

As per my understanding and the sly documentation at [1], @Extension will add the extension to the path. So, this is working as expected.

URL manipulation

Adds the html extension to a path.

<a href="${item.path @ extension = 'html'}">${item.name}</a>

Adds the html extension and a selector to a path.

<a href="${item.path @ extension = 'html', selectors='products'}">${item.name}</a>

I tried the following on my side:

  ${'https://www.google.com/resources' @  extension='html'}

The output is below:

Screen Shot 2019-09-17 at 8.52.23 PM.png

[1] HTL Block Statements

Avatar

Level 2

https://docs.adobe.com/content/help/en/experience-manager-htl/using/htl/block-statements.html#sly-el... The documentation on this page says "The @Extension works in all scenarios in AEM 6.3, before you could have a result like www.adobe.com.html and also checks whether to add or not add the extension." The use case is that we dont want to add html to external links. Is that something which cannot be solved using @ extension?

Avatar

정확한 답변 작성자:
Employee Advisor

If you want to remove the extension, you can use something like below:

${'https://www.google.com/resources' @  extension}

Avatar

Employee

I do not think that HTL has such functionality to distinguish internal/external links. You will need to write something custom to handle case a use case. Take a look at this [1] to help you in creating this customization.

[1] https://wcm.io/handler/link/usage.html