Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

Sightly List size

Avatar

Level 2

Hi all,

I have used list of child page using Sightly but i want to get the size of that list.

<Sly data-sly-list=${current page.listChildren}>

I want size , i tried itemList.size and item list.length

But it is not working.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi,

HTL does not provide any method to get list size.

https://github.com/adobe/htl-spec/blob/master/SPECIFICATION.md#226-list  

 

I would recommend to use java suggested by @ksh_ingole7 

 

But If you are curious about how to do it in HTL, I can tell but this is not an optimal solution, you may end up parsing list twice.

 

<sly data-sly-list="${currentPage.listChildren}">
	<sly data-sly-test="${itemList.last}" data-sly-set.aListSize="${itemList.count}" />
</sly>
List size is : ${aListSize}

View solution in original post

3 Replies

Avatar

Level 5

Hey @bangar20 

 

Consider the following example and see the text in bold :

 

In java:-

 

public List getTestList() {

return testList;

}

 

In HTML:-

 

<sly data-sly-use.useClassObj = "com.ups.components.use.ArrayListClassUse">

Size of List:- ${useClassObj .testList.size}

</sly>

 

Call the getTestList() method using the Class object and the do .size. This will return the size of the list. 

 

Thanks

Avatar

Level 2

Hi @ksh_ingole7 ,

I know from java end but i need to do from Sightly object because I am fetching the list from Sightly object.

 

 

 

Avatar

Correct answer by
Community Advisor

Hi,

HTL does not provide any method to get list size.

https://github.com/adobe/htl-spec/blob/master/SPECIFICATION.md#226-list  

 

I would recommend to use java suggested by @ksh_ingole7 

 

But If you are curious about how to do it in HTL, I can tell but this is not an optimal solution, you may end up parsing list twice.

 

<sly data-sly-list="${currentPage.listChildren}">
	<sly data-sly-test="${itemList.last}" data-sly-set.aListSize="${itemList.count}" />
</sly>
List size is : ${aListSize}