コミュニティアチーブメントバーを展開する。

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

Mark Solution

この会話は、活動がないためロックされています。新しい投稿を作成してください。

解決済み

Sightly comparison expression

Avatar

Level 3

Hi,

How can we compare the two values in Sightly test condition. i tried with below code but not working.

Ex:

 <sly data-sly-list="${}" >
 <sly data-sly-test="${itemList.index == ${properties.getvalue} }">Show some text</sly>  

</sly>

Here "getvalue" is property name with type textfiled in a dialog, we want to display some text when list count is matching with getvalue.

1 受け入れられたソリューション

Avatar

正解者
Employee

This is about the Sightly not casting to a different object-type.

To convert the index, you can do this trick.

data-sly-test.stringIndex="${'{0}' @ format=[itemList.index]}"

data-sly-test="${ stringIndex == properties.yourProperty}"

元の投稿で解決策を見る

10 返信

Avatar

Level 10

Two things seems to be wrong:

1. data-sly-list="${}"  is empty, which should not be

2. for comparison you can use ${itemList.index == properties.getvalue}"

Please see these article to get these things clear..

Avatar

Level 3

1. I have removed the code  in {} before posting to forum.

2.. for comparison you can use ${itemList.index == properties.getvalue}"

 I am getting exception "

Invalid types in comparison. Equality is supported for String, Number & Boolean types

"

I thought we should convert the values to one type. I tried with @ context = 'number' but not able to get output.

Avatar

Level 10

Avatar

Level 10

What type of value does this return properties.getvalue, is it number or string ?

Avatar

Level 3

I am using xtype as "numberfield" for fixedlength property. i don't about return type for this xtype.

Avatar

Level 10

Take a look at docs, it says its " Numeric text field that provides automatic keystroke filtering and numeric validation."

https://docs.adobe.com/docs/en/cq/5-6/widgets-api/index.html?class=CQ.Ext.form.NumberField

Avatar

Level 10

Hi ,

properties.getvalue will return string which cannot be compared with itemList.index which is integer. Hence you are seeing the exception

Avatar

正解者
Employee

This is about the Sightly not casting to a different object-type.

To convert the index, you can do this trick.

data-sly-test.stringIndex="${'{0}' @ format=[itemList.index]}"

data-sly-test="${ stringIndex == properties.yourProperty}"

Avatar

Level 10

also what property are you trying to compare with 

it should be something like property.<propertyname> which returns integer

Avatar

Level 3

Thanks for your help.