Sightly List size | Adobe Higher Education
Skip to main content
Level 2
September 8, 2022
Risolto

Sightly List size

  • September 8, 2022
  • 1 risposta
  • 1331 visualizzazioni

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.

Questo argomento è stato chiuso alle risposte.
Migliore risposta di arunpatidar

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}

1 risposta

ksh_ingole7
Community Advisor
Community Advisor
September 8, 2022

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

bangar20Autore
Level 2
September 8, 2022

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.

 

 

 

arunpatidar
Community Advisor
arunpatidarCommunity AdvisorRisposta
Community Advisor
September 8, 2022

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}
Arun Patidar