4

How can I find the maxlength of the number of items?

TemplateBeginIf cond="TemplateRepeatIndex == 0"

2 Answers 2

3

You need to use the CollectionLength function:

@@CollectionLength("Component.Fields.multiValuedField")@@

Refer to this question: https://stackoverflow.com/questions/12052182/how-to-get-the-maximum-index-count-for-templaterepeatindex-in-dwt

5
  • I got the error Variable 'CollectionLength' has not been declared. How to declare it?
    – wiske
    Sep 8, 2015 at 9:24
  • What version are you on? What is the exact code you are using? Sep 8, 2015 at 9:25
  • Tridion 2009 SP1
    – wiske
    Sep 8, 2015 at 9:29
  • I'm afraid it was added in the later version. You will probably have to implement it yourself Sep 8, 2015 at 11:03
  • Check this extension, might do the trick for you: sdltridionworld.com/community/extension_overview/…
    – Nuno Linhares
    Sep 8, 2015 at 11:46
1

Why not write a C# TBB to check the number of Items, In case you cannot use any external tools.

Example:

Item compItem = package.GetByType(ContentType.Component);
XmlDocument Links = new XmlDocument();
Links.LoadXml(compItem.Content.OuterXml);
XmlNodeList OuterImageCount = Links.GetElementsByTagName("OuterImage");
string Count = (OuterImageCount.Count).ToString();
package.PushItem("ItemsCount", package.CreateStringItem(ContentType.Text, Count));

And in DWT you can read the ItemsCount item pushed to Package as:

Reading the value inside condition as:

<!-- TemplateBeginIf cond="TemplateRepeatIndex == ItemsCount" -->

And in case you want to use the value any where else in DWT, use: @@ItemsCount@@

Where OuterImage is the repeating element as

<OuterImage>
<LinkUrl>http://www.google.co.in</LinkUrl> 
<Image>xlink:title="primary-icon-7" xlink:href="tcm:218-12168"></Image>
</OuterImage>

<OuterImage>
<LinkUrl>http://www.google.co.in</LinkUrl> 
<Image>xlink:title="primary-icon-8" xlink:href="tcm:218-12169"></Image>
</OuterImage>
....
....
<OuterImage>
<LinkUrl>http://www.google.co.in</LinkUrl> 
<Image>xlink:title="primary-icon-9" xlink:href="tcm:218-12170"></Image>
</OuterImage>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.