Nested Ternary expression | Community
Skip to main content
New Participant
June 15, 2019
Solved

Nested Ternary expression

  • June 15, 2019
  • 2 replies
  • 3628 views

Hi all,

I am trying to implement something like below in sightly

<div class="${condition1?'class1:'condition2?'class2':'condition3?'class3':''''}">

I have 3 conditions, if condition1 is not met it goes to condition2 and then condition 3 and finally else case. I am getting error doing above.

Below is general logic

if(con1)

else if(con2)

else if(con3)

else

Please let me know how to implement in correct way in sightly.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by arunpatidar

Here is the example

<sly data-sly-test.if="${pageProperties.jcr:title == 'English1'}"></sly>

<sly data-sly-test.elseif1="${pageProperties.jcr:title == 'English2'}"></sly>

<sly data-sly-test.elseif2="${pageProperties.jcr:title == 'English'}"></sly>

<div class="${if?'class1':(elseif1?'class2':(elseif2?'class3':''))}">Demo</div>

In your case

<div class="${condition1?'class1':(condition2?'class2':(condition3?'class3':''))}">Demo</div>

2 replies

tahir1601Author
New Participant
June 17, 2019

Thanks man. That worked

arunpatidar
arunpatidarAccepted solution
New Participant
June 16, 2019

Here is the example

<sly data-sly-test.if="${pageProperties.jcr:title == 'English1'}"></sly>

<sly data-sly-test.elseif1="${pageProperties.jcr:title == 'English2'}"></sly>

<sly data-sly-test.elseif2="${pageProperties.jcr:title == 'English'}"></sly>

<div class="${if?'class1':(elseif1?'class2':(elseif2?'class3':''))}">Demo</div>

In your case

<div class="${condition1?'class1':(condition2?'class2':(condition3?'class3':''))}">Demo</div>

Arun Patidar