You can use webcontent :
structure :
1<root>
2 <dynamic-element name='duration' type='list' index-type='' repeatable='false'>
3 <meta-data>
4 <entry name="displayAsTooltip"><![CDATA[false]]></entry>
5 <entry name="required"><![CDATA[false]]></entry>
6 <entry name="instructions"><![CDATA[Select how long, in seconds, you would prefer to display an item before switching to the next slide]]></entry>
7 <entry name="label"><![CDATA[Item Duration]]></entry>
8 <entry name="predefinedValue"><![CDATA[]]></entry>
9 </meta-data>
10
11 <dynamic-element name='1' type='1' index-type='' repeatable='false'> </dynamic-element>
12 <dynamic-element name='2' type='2' index-type='' repeatable='false'> </dynamic-element>
13 <dynamic-element name='3' type='3' index-type='' repeatable='false'> </dynamic-element>
14 <dynamic-element name='4' type='4' index-type='' repeatable='false'> </dynamic-element>
15 <dynamic-element name='5' type='5' index-type='' repeatable='false'> </dynamic-element>
16 <dynamic-element name='6' type='6' index-type='' repeatable='false'> </dynamic-element>
17 <dynamic-element name='7' type='7' index-type='' repeatable='false'> </dynamic-element>
18 <dynamic-element name='8' type='8' index-type='' repeatable='false'> </dynamic-element>
19 <dynamic-element name='9' type='9' index-type='' repeatable='false'> </dynamic-element>
20 <dynamic-element name='10' type='10' index-type='' repeatable='false'></dynamic-element>
21 </dynamic-element>
22 <dynamic-element name='height' type='text' index-type='' repeatable='false'>
23 <meta-data>
24 <entry name="displayAsTooltip"><![CDATA[false]]></entry>
25 <entry name="required"><![CDATA[true]]></entry>
26 <entry name="instructions"><![CDATA[This defines the height of the carousel, in pixels(px). Do not add "px" at the end of the value]]></entry>
27 <entry name="label"><![CDATA[Height]]></entry>
28 <entry name="predefinedValue"><![CDATA[]]></entry>
29 </meta-data>
30</dynamic-element>
31 <dynamic-element name='width' type='text' index-type='' repeatable='false'>
32 <meta-data>
33 <entry name="displayAsTooltip"><![CDATA[false]]></entry>
34 <entry name="required"><![CDATA[true]]></entry>
35 <entry name="instructions"><![CDATA[This defines the width of the carousel, in pixels(px). Do not add "px" at the end of the value]]></entry>
36 <entry name="label"><![CDATA[Width]]></entry>
37 <entry name="predefinedValue"><![CDATA[]]></entry>
38 </meta-data>
39</dynamic-element>
40 <dynamic-element name='content' type='text_area' index-type='text' repeatable='true'>
41 <meta-data>
42 <entry name="displayAsTooltip"><![CDATA[false]]></entry>
43 <entry name="required"><![CDATA[true]]></entry>
44 <entry name="instructions"><![CDATA[This is the content of this slide. To create more slides, click on the " " button]]></entry>
45 <entry name="label"><![CDATA[content]]></entry>
46 <entry name="predefinedValue"><![CDATA[]]></entry>
47 </meta-data>
48</dynamic-element>
49</root>
Template
1#set ($contentId = $reserved-article-id.getData())
2#set ($contentClass = "multiple-items-" + $contentId + "-carousel")
3
4<style type="text/css" media="screen">
5 #$contentClass {
6 height: $height.getData()px;
7 position: relative;
8 width: $width.getData()px;
9 }
10
11 #$contentClass .carousel-item {
12 height: $height.getData()px;
13 overflow: hidden;
14 width: $width.getData()px;
15 position: absolute;
16 top: 0;
17 }
18</style>
19
20<div id="$contentClass">
21 #foreach ($item in $content.getSiblings())
22 <div class="carousel-item">
23 $item.getData()
24 </div>
25 #end
26</div>
27
28<script type="text/javascript">
29 AUI().ready(
30 'aui-carousel',
31 function(A) {
32 var component = new A.Carousel(
33 {
34 activeIndex: 'rand',
35 contentBox: '#$contentClass',
36 height: $height.getData(),
37 intervalTime: $duration.getData(),
38 width: $width.getData()
39 }
40 )
41 .render();
42 });
43</script>