Nested Ternary expression | Community
Skip to main content
Level 3
Jun 15, 2019 7:51 PM UTC
Solved

Nested Ternary expression

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.
arunpatidar
arunpatidarAccepted solution
New Participant
Jun 16, 2019 5:48 PM UTC

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

2 replies

tahir1601Author
Level 3
Jun 17, 2019 4:20 AM UTC

Thanks man. That worked

Translate
arunpatidar
arunpatidarAccepted solution
New Participant
Jun 16, 2019 5:48 PM UTC

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>

Translate
Arun Patidar