<?php /** * Slick slider for Contao * * Copyright (c) 2016 Benjamin Roth * * @license LGPL-3.0+ */ namespace eSM_slick; /** * Front end content element slick slider start. */ class ContentSlickSliderStart extends \ContentElement { /** * Template * @var string */ protected $strTemplate = 'ce_slick_slider_start'; /** * Generate the content element */ protected function compile() { if (TL_MODE == 'BE') { $this->strTemplate = 'be_wildcard'; /** @var \BackendTemplate|object $objTemplate */ $objTemplate = new \BackendTemplate($this->strTemplate); $this->Template = $objTemplate; $this->Template->title = $this->headline; } // Slider configuration $this->Template->config = $this->eSM_slick_autoPlaySpeed . ',' . $this->eSM_slick_speed . ',' . $this->eSM_slick_initialSlide . ',' . $this->eSM_slick_lazyLoad . ',' . $this->eSM_slick_infinite . ',' . $this->eSM_slick_arrows . ',' . $this->eSM_slick_pagination . ',' . $this->eSM_slick_pause . ',' . $this->eSM_slick_fade . ',' . $this->eSM_slick_slidesToShow . ',' . $this->eSM_slick_slidesToScroll . ',' . $this->eSM_slick_adaptiveHeight; // Background image if ($this->singleSRC) { $objFile = \FilesModel::findByUuid($this->singleSRC); if ($objFile !== null && is_file(TL_ROOT . '/' . $objFile->path)) { $this->singleSRC = $objFile->path; $this->addImageToTemplate($this->Template, array('singleSRC'=>$this->singleSRC, 'size'=>$this->size)); } $backgroundStyle = 'background-image: url(\''.$this->Template->src.'\');'; if ($this->eSM_slick_bgSize) { $backgroundStyle .= 'background-size: ' . $this->eSM_slick_bgSize . ';'; } else { $backgroundStyle .= 'background-size: cover;'; } if ($this->eSM_slick_bgPosition) { $backgroundStyle .= 'background-position: ' . $this->eSM_slick_bgPosition . ';'; } else { $backgroundStyle .= 'background-position: 0 0;'; } if ($this->eSM_slick_bgOpacity) { $backgroundStyle .= 'opacity:' . $this->eSM_slick_bgOpacity/100 . ';'; } if ($this->eSM_slick_minHeight) { $this->Template->minHeight = round($this->Template->height/$this->Template->width*100).'%'; } $this->Template->backgroundStyle = $backgroundStyle; } } }