Skip to main content
Level 5
February 4, 2020
해결됨

How to append a character while using the conditional statement in sightly?

  • February 4, 2020
  • 4 답변들
  • 5002 조회

I need to set the href value depending on the nullity of sling:vanityPath. The hit.properties.sling:vanityPath returns the string value for sling:vanityPath property. I need to append a '/' before the hit.properties.sling:vanityPath value. Is it possible to do that in the following code or do I have to test it twice, but that comes with code repetition?

<a href="${hit.properties.sling:vanityPath == null? hit.path : hit.properties.sling:vanityPath @ extension='html'}"/>

이 주제는 답변이 닫혔습니다.
최고의 답변: jezwn

The prependPath could be used to do this.

4 답변

Vijayalakshmi_S
Level 10
February 4, 2020

HI, 

It is recommended to do any data manipulation in back end. Null check/equality check can be performed at sightly level. Amending a value based on some condition has to happen in back end and expose it in sightly via getter.

jezwn작성자
Level 5
February 5, 2020
You could use prependPath instead in sightly.
jezwn작성자답변
Level 5
February 5, 2020

The prependPath could be used to do this.

jezwn작성자
Level 5
February 28, 2020

prependPath - prepends its content to the path that identifies a resource

 

${'path' @ prependPath='..'}
<!-- outputs: ../path -->

${'path' @ prependPath='/', appendPath='/'}
<!-- outputs: /path/ -->

${'http://example.com/path/page.html' @ prependPath='foo'}
<!-- outputs: http://example.com/foo/path/page.html -->

  Source: https://github.com/adobe/htl-spec/blob/master/SPECIFICATION.md#125-uri-manipulation