===================================== Integrating a JavaScript-based slider ===================================== If you want to integrate a Slider into your page as content element or as part of your template and want edit it in the backend you have do some simple steps. First you have to use a slider javscript plugin which initializes itself when added to the page after page load. Or you write your own initialization code into a javascript function which you then add as callback for the neos backend events. For this example the carousel plugin and styling from bootstrap 3.0 has been used: http://getbootstrap.com/javascript/#carousel To create the basic content element you have to add it to your node types. Yaml (Sites/Vendor.Site/Configuration/NodeTypes.yaml):: 'Vendor.Site:Carousel': superTypes: ['TYPO3.Neos:Content'] childNodes: carouselItems: type: 'TYPO3.Neos:ContentCollection' ui: label: 'Carousel' group: 'plugins' icon: 'icon-picture' inlineEditable: TRUE Next you need to define the prototype for the slider in typoscript. TypoScript (Sites/Vendor.Site/Resources/Private/TypoScripts/Library/NodeTypes/Carousel.ts2):: prototype(Vendor.Site:Carousel) { carouselItems = TYPO3.Neos:ContentCollection { nodePath = 'carouselItems' iterationName = 'carouselItemsIteration' attributes.class = 'carousel-inner' } // Collect the carousels children but only images carouselItemArray = ${q(node).children('carouselItems').children('[instanceof TYPO3.Neos.NodeTypes:Image]')} // Enhance image prototype when inside the carousel prototype(TYPO3.Neos.NodeTypes:Image) { // Render images in the carousel with a special template. templatePath = 'resource://Vendor.Site/Private/Templates/TypoScriptObjects/CarouselItem.html' // The first item should later be marked as active attributes.class = ${'item' + (carouselItemsIteration.isFirst ? ' active' : '')} // We want to use the item iterator in fluid so we have to store it as variable. iteration = ${carouselItemsIteration} } } For rendering you need the fluid templates for the slider. Html (Sites/Vendor.Site/Private/Templates/NodeTypes/Carousel.html) :: {namespace neos=TYPO3\Neos\ViewHelpers} {namespace ts=TYPO3\TypoScript\ViewHelpers}