... | ... |
@@ -1,5 +1,12 @@ |
1 |
+.slick-slider-container { |
|
2 |
+ overflow: hidden; } |
|
3 |
+ |
|
4 |
+.slick-slider-container, |
|
1 | 5 |
.slick-slider-slide { |
2 | 6 |
position: relative; } |
7 |
+ .slick-slider-container .slick-slider-background, |
|
8 |
+ .slick-slider-container .slick-slider-slide-image, |
|
9 |
+ .slick-slider-slide .slick-slider-background, |
|
3 | 10 |
.slick-slider-slide .slick-slider-slide-image { |
4 | 11 |
position: absolute; |
5 | 12 |
left: 0; |
... | ... |
@@ -23,14 +23,14 @@ $GLOBALS['TL_DCA']['tl_content']['config']['onsubmit_callback'][] = array('tl_co |
23 | 23 |
* Add palettes to tl_content |
24 | 24 |
*/ |
25 | 25 |
$GLOBALS['TL_DCA']['tl_content']['palettes']['__selector__'][] = 'eSM_addImage'; |
26 |
-$GLOBALS['TL_DCA']['tl_content']['palettes']['slickSliderStart'] = '{type_legend},type;{slickSlider_legend},eSM_slick_autoPlaySpeed,eSM_slick_speed,eSM_slick_initialSlide,eSM_slick_lazyLoad,eSM_slick_slidesToShow,eSM_slick_slidesToScroll,eSM_slick_infinite,eSM_slick_arrows,eSM_slick_pagination,eSM_slick_pause,eSM_slick_fade,eSM_slick_adaptiveHeight;{template_legend:hide},customTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID,space;{invisible_legend:hide},invisible,start,stop'; |
|
26 |
+$GLOBALS['TL_DCA']['tl_content']['palettes']['slickSliderStart'] = '{type_legend},type;{slickSlider_legend},eSM_slick_autoPlaySpeed,eSM_slick_speed,eSM_slick_initialSlide,eSM_slick_lazyLoad,eSM_slick_slidesToShow,eSM_slick_slidesToScroll,eSM_slick_infinite,eSM_slick_arrows,eSM_slick_pagination,eSM_slick_pause,eSM_slick_fade,eSM_slick_adaptiveHeight;{image_legend},eSM_addImage;{template_legend:hide},customTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID,space;{invisible_legend:hide},invisible,start,stop'; |
|
27 | 27 |
$GLOBALS['TL_DCA']['tl_content']['palettes']['slickSliderStop'] = '{type_legend},type;{template_legend:hide},customTpl;{protected_legend:hide},protected;{expert_legend:hide},guests;{invisible_legend:hide},invisible,start,stop'; |
28 | 28 |
$GLOBALS['TL_DCA']['tl_content']['palettes']['slickSliderSlideStart'] = '{type_legend},type;{slickSlider_legend},eSM_addImage;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID,space;{invisible_legend:hide},invisible,start,stop'; |
29 | 29 |
$GLOBALS['TL_DCA']['tl_content']['palettes']['slickSliderSlideStop'] = '{type_legend},type;{protected_legend:hide},protected;{expert_legend:hide},guests;{invisible_legend:hide},invisible,start,stop'; |
30 | 30 |
$GLOBALS['TL_DCA']['tl_content']['palettes']['slickSliderWallpaper'] = '{type_legend},type;{slickSlider_legend},eSM_slick_text,eSM_slick_url,singleSRC,size;{template_legend:hide},customTpl;{protected_legend:hide},protected;{expert_legend:hide},guests,cssID,space;{invisible_legend:hide},invisible,start,stop'; |
31 | 31 |
|
32 | 32 |
|
33 |
-$GLOBALS['TL_DCA']['tl_content']['subpalettes']['eSM_addImage'] = 'singleSRC,size,eSM_slick_slide_bgSize,eSM_slick_slide_bgPosition,eSM_slick_slide_minHeight,eSM_slick_slide_bgOpacity'; |
|
33 |
+$GLOBALS['TL_DCA']['tl_content']['subpalettes']['eSM_addImage'] = 'singleSRC,size,eSM_slick_bgSize,eSM_slick_bgPosition,eSM_slick_minHeight,eSM_slick_bgOpacity'; |
|
34 | 34 |
|
35 | 35 |
/** |
36 | 36 |
* Add fields to tl_content |
... | ... |
@@ -179,18 +179,18 @@ $GLOBALS['TL_DCA']['tl_content']['fields']['eSM_addImage'] = array |
179 | 179 |
'sql' => "char(1) NOT NULL default ''" |
180 | 180 |
); |
181 | 181 |
|
182 |
-$GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_slide_minHeight'] = array |
|
182 |
+$GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_minHeight'] = array |
|
183 | 183 |
( |
184 |
- 'label' => &$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_minHeight'], |
|
184 |
+ 'label' => &$GLOBALS['TL_LANG']['tl_content']['eSM_slick_minHeight'], |
|
185 | 185 |
'exclude' => true, |
186 | 186 |
'inputType' => 'checkbox', |
187 | 187 |
'eval' => array('tl_class'=>'w50 m12'), |
188 | 188 |
'sql' => "char(1) NOT NULL default ''" |
189 | 189 |
); |
190 | 190 |
|
191 |
-$GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_slide_bgPosition'] = array |
|
191 |
+$GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_bgPosition'] = array |
|
192 | 192 |
( |
193 |
- 'label' => &$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_bgPosition'], |
|
193 |
+ 'label' => &$GLOBALS['TL_LANG']['tl_content']['eSM_slick_bgPosition'], |
|
194 | 194 |
'exclude' => true, |
195 | 195 |
'inputType' => 'select', |
196 | 196 |
'options' => array |
... | ... |
@@ -209,9 +209,9 @@ $GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_slide_bgPosition'] = array |
209 | 209 |
'sql' => "varchar(16) NOT NULL default ''" |
210 | 210 |
); |
211 | 211 |
|
212 |
-$GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_slide_bgSize'] = array |
|
212 |
+$GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_bgSize'] = array |
|
213 | 213 |
( |
214 |
- 'label' => &$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_bgSize'], |
|
214 |
+ 'label' => &$GLOBALS['TL_LANG']['tl_content']['eSM_slick_bgSize'], |
|
215 | 215 |
'exclude' => true, |
216 | 216 |
'inputType' => 'select', |
217 | 217 |
'options' => array |
... | ... |
@@ -224,9 +224,9 @@ $GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_slide_bgSize'] = array |
224 | 224 |
'sql' => "varchar(16) NOT NULL default ''" |
225 | 225 |
); |
226 | 226 |
|
227 |
-$GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_slide_bgOpacity'] = array |
|
227 |
+$GLOBALS['TL_DCA']['tl_content']['fields']['eSM_slick_bgOpacity'] = array |
|
228 | 228 |
( |
229 |
- 'label' => &$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_bgOpacity'], |
|
229 |
+ 'label' => &$GLOBALS['TL_LANG']['tl_content']['eSM_slick_bgOpacity'], |
|
230 | 230 |
'exclude' => true, |
231 | 231 |
'inputType' => 'select', |
232 | 232 |
'options' => array |
... | ... |
@@ -53,21 +53,21 @@ class ContentSlickSliderSlideStart extends \ContentElement |
53 | 53 |
|
54 | 54 |
$backgroundStyle = 'background-image: url(\''.$this->Template->src.'\');'; |
55 | 55 |
|
56 |
- if ($this->eSM_slick_slide_bgSize) { |
|
57 |
- $backgroundStyle .= 'background-size: ' . $this->eSM_slick_slide_bgSize . ';'; |
|
56 |
+ if ($this->eSM_slick_bgSize) { |
|
57 |
+ $backgroundStyle .= 'background-size: ' . $this->eSM_slick_bgSize . ';'; |
|
58 | 58 |
} else { |
59 | 59 |
$backgroundStyle .= 'background-size: cover;'; |
60 | 60 |
} |
61 |
- if ($this->eSM_slick_slide_bgPosition) { |
|
62 |
- $backgroundStyle .= 'background-position: ' . $this->eSM_slick_slide_bgPosition . ';'; |
|
61 |
+ if ($this->eSM_slick_bgPosition) { |
|
62 |
+ $backgroundStyle .= 'background-position: ' . $this->eSM_slick_bgPosition . ';'; |
|
63 | 63 |
} else { |
64 | 64 |
$backgroundStyle .= 'background-position: 0 0;'; |
65 | 65 |
} |
66 |
- if ($this->eSM_slick_slide_bgOpacity) { |
|
67 |
- $backgroundStyle .= 'opacity:' . $this->eSM_slick_slide_bgOpacity/100 . ';'; |
|
66 |
+ if ($this->eSM_slick_bgOpacity) { |
|
67 |
+ $backgroundStyle .= 'opacity:' . $this->eSM_slick_bgOpacity/100 . ';'; |
|
68 | 68 |
} |
69 | 69 |
|
70 |
- if ($this->eSM_slick_slide_minHeight) { |
|
70 |
+ if ($this->eSM_slick_minHeight) { |
|
71 | 71 |
$this->Template->minHeight = round($this->Template->height/$this->Template->width*100).'%'; |
72 | 72 |
} |
73 | 73 |
|
... | ... |
@@ -42,5 +42,41 @@ class ContentSlickSliderStart extends \ContentElement |
42 | 42 |
|
43 | 43 |
// Slider configuration |
44 | 44 |
$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; |
45 |
+ |
|
46 |
+ // Background image |
|
47 |
+ if ($this->singleSRC) |
|
48 |
+ { |
|
49 |
+ |
|
50 |
+ $objFile = \FilesModel::findByUuid($this->singleSRC); |
|
51 |
+ |
|
52 |
+ if ($objFile !== null && is_file(TL_ROOT . '/' . $objFile->path)) |
|
53 |
+ { |
|
54 |
+ $this->singleSRC = $objFile->path; |
|
55 |
+ |
|
56 |
+ $this->addImageToTemplate($this->Template, array('singleSRC'=>$this->singleSRC, 'size'=>$this->size)); |
|
57 |
+ } |
|
58 |
+ |
|
59 |
+ $backgroundStyle = 'background-image: url(\''.$this->Template->src.'\');'; |
|
60 |
+ |
|
61 |
+ if ($this->eSM_slick_bgSize) { |
|
62 |
+ $backgroundStyle .= 'background-size: ' . $this->eSM_slick_bgSize . ';'; |
|
63 |
+ } else { |
|
64 |
+ $backgroundStyle .= 'background-size: cover;'; |
|
65 |
+ } |
|
66 |
+ if ($this->eSM_slick_bgPosition) { |
|
67 |
+ $backgroundStyle .= 'background-position: ' . $this->eSM_slick_bgPosition . ';'; |
|
68 |
+ } else { |
|
69 |
+ $backgroundStyle .= 'background-position: 0 0;'; |
|
70 |
+ } |
|
71 |
+ if ($this->eSM_slick_bgOpacity) { |
|
72 |
+ $backgroundStyle .= 'opacity:' . $this->eSM_slick_bgOpacity/100 . ';'; |
|
73 |
+ } |
|
74 |
+ |
|
75 |
+ if ($this->eSM_slick_minHeight) { |
|
76 |
+ $this->Template->minHeight = round($this->Template->height/$this->Template->width*100).'%'; |
|
77 |
+ } |
|
78 |
+ |
|
79 |
+ $this->Template->backgroundStyle = $backgroundStyle; |
|
80 |
+ } |
|
45 | 81 |
} |
46 | 82 |
} |
... | ... |
@@ -38,14 +38,14 @@ $GLOBALS['TL_LANG']['tl_content']['eSM_slick_adaptiveHeight'][0] = "Adaptive Hö |
38 | 38 |
$GLOBALS['TL_LANG']['tl_content']['eSM_slick_adaptiveHeight'][1] = "Die Höhe des Sliders passt sich automatisch den sichtbaren Slides an."; |
39 | 39 |
$GLOBALS['TL_LANG']['tl_content']['eSM_slick_text'][0] = "Text"; |
40 | 40 |
$GLOBALS['TL_LANG']['tl_content']['eSM_slick_text'][1] = "Ein Text der auf dem Hintergrundbild platziert wird."; |
41 |
-$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_bgPosition'][0] = "Bildposition"; |
|
42 |
-$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_bgPosition'][1] = "Legt die Positionierung des Bildes fest."; |
|
43 |
-$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_bgSize'][0] = "Hintergrundbildgröße"; |
|
44 |
-$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_bgSize'][1] = "Steuert die Hintergrundbildgröße bezogen auf den Container."; |
|
45 |
-$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_minHeight'][0] = "Mindesthöhe erzwingen"; |
|
46 |
-$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_minHeight'][1] = "Die Mindesthöhe des Slide wird am Bild ausgerichtet."; |
|
47 |
-$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_bgOpacity'][0] = "Hintergrundbildtransparenz"; |
|
48 |
-$GLOBALS['TL_LANG']['tl_content']['eSM_slick_slide_bgOpacity'][1] = "Die Transparenz des Hintergrundbildes."; |
|
41 |
+$GLOBALS['TL_LANG']['tl_content']['eSM_slick_bgPosition'][0] = "Bildposition"; |
|
42 |
+$GLOBALS['TL_LANG']['tl_content']['eSM_slick_bgPosition'][1] = "Legt die Positionierung des Bildes fest."; |
|
43 |
+$GLOBALS['TL_LANG']['tl_content']['eSM_slick_bgSize'][0] = "Hintergrundbildgröße"; |
|
44 |
+$GLOBALS['TL_LANG']['tl_content']['eSM_slick_bgSize'][1] = "Steuert die Hintergrundbildgröße bezogen auf den Container."; |
|
45 |
+$GLOBALS['TL_LANG']['tl_content']['eSM_slick_minHeight'][0] = "Mindesthöhe erzwingen"; |
|
46 |
+$GLOBALS['TL_LANG']['tl_content']['eSM_slick_minHeight'][1] = "Die Mindesthöhe des Slide wird am Bild ausgerichtet."; |
|
47 |
+$GLOBALS['TL_LANG']['tl_content']['eSM_slick_bgOpacity'][0] = "Hintergrundbildtransparenz"; |
|
48 |
+$GLOBALS['TL_LANG']['tl_content']['eSM_slick_bgOpacity'][1] = "Die Transparenz des Hintergrundbildes."; |
|
49 | 49 |
/** |
50 | 50 |
* Legends |
51 | 51 |
*/ |
... | ... |
@@ -1,9 +1,17 @@ |
1 | 1 |
<?php $this->block('content'); ?> |
2 | 2 |
|
3 |
- <div class="<?= $this->class ?> block"<?= $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>> |
|
3 |
+<div class="<?= $this->class ?> block"<?= $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>> |
|
4 | 4 |
|
5 |
- <?php if ($this->headline): ?> |
|
6 |
- <<?= $this->hl ?>><?= $this->headline ?></<?= $this->hl ?>> |
|
5 |
+ <?php if ($this->headline): ?> |
|
6 |
+ <<?= $this->hl ?>><?= $this->headline ?></<?= $this->hl ?>> |
|
7 |
+ <?php endif; ?> |
|
8 |
+ |
|
9 |
+ <div class="slick-slider-container slide-container_<?= $this->id ?>"> |
|
10 |
+ <?php if ($this->eSM_addImage && $this->src): ?> |
|
11 |
+ <div class="slick-slider-background" style="<?= $this->backgroundStyle ?>"></div> |
|
12 |
+ <?php if ($this->minHeight): ?> |
|
13 |
+ <style>.slide-container_<?= $this->id ?>:before { content: ""; display: block; padding-top: <?= $this->minHeight ?>; float: left; }</style> |
|
14 |
+ <?php endif; ?> |
|
7 | 15 |
<?php endif; ?> |
8 | 16 |
|
9 | 17 |
<div class="slick-slider-wrapper" data-config="<?= $this->config ?>"> |