Browse code

Initial commit

Benjamin Roth authored on16/03/2023 20:22:35
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,308 @@
1
+<?php
2
+// rsce_my_element_config.php
3
+return array(
4
+    'label' => array('Custom | Bilder-Slider', ''),
5
+    'types' => array('content'),
6
+    'contentCategory' => 'texts',
7
+    'moduleCategory' => 'miscellaneous',
8
+    'standardFields' => array('headline', 'cssID'),
9
+    'wrapper' => array(
10
+        'type' => 'none',
11
+    ),
12
+    'fields' => array(
13
+        'topline' => array(
14
+            'label' => array('Topline', 'Text oberhalb der Überschrift'),
15
+            'inputType' => 'text',
16
+            'eval' => array('tl_class' => 'w50'),
17
+        ), 'subline' => array(
18
+            'label' => array('Subline', 'Text unterhalb der Überschrift'),
19
+            'inputType' => 'text',
20
+            'eval' => array('tl_class' => 'w50'),
21
+        ),
22
+        'animation_type' => array(
23
+            'label' => array(
24
+                'de' => array('Art der Einblendeanimation', 'Siehe https://animate.style/ für Beispiele'),
25
+            ),
26
+            'inputType' => 'select',
27
+            'options' => array(
28
+                /* Fading entrances  */
29
+                'animate__fadeInUp' => 'fadeInUp (Meistens Standard)',
30
+                'no-animation' => 'Keine Animation',
31
+                'animate__fadeIn' => 'fadeIn',
32
+                'animate__fadeInDown' => 'fadeInDown',
33
+                'animate__fadeInDownBig' => 'fadeInDownBig',
34
+                'animate__fadeInLeft' => 'fadeInLeft',
35
+                'animate__fadeInLeftBig' => 'fadeInLeftBig',
36
+                'animate__fadeInRight' => 'fadeInRight',
37
+                'animate__fadeInRightBig' => 'fadeInRightBig',
38
+                'animate__fadeInUpBig' => 'fadeInUpBig',
39
+                'animate__fadeInTopLeft' => 'fadeInTopLeft',
40
+                'animate__fadeInTopRight' => 'fadeInTopRight',
41
+                'animate__fadeInBottomLeft' => 'fadeInBottomLeft',
42
+                'animate__fadeInBottomRight' => 'fadeInBottomRight',
43
+                /* Attention seekers  */
44
+                'animate__bounce' => 'bounce',
45
+                'animate__flash' => 'flash',
46
+                'animate__pulse' => 'pulse',
47
+                'animate__rubberBand' => 'rubberBand',
48
+                'animate__shakeX' => 'shakeX',
49
+                'animate__shakeY' => 'shakeY',
50
+                'animate__headShake' => 'headShake',
51
+                'animate__swing' => 'swing',
52
+                'animate__tada' => 'tada',
53
+                'animate__wobble' => 'wobble',
54
+                'animate__jello' => 'jello',
55
+                'animate__heartBeat' => 'heartBeat',
56
+                /* Back entrances */
57
+                'animate__backInDown' => 'backInDown',
58
+                'animate__backInLeft' => 'backInLeft',
59
+                'animate__backInRight' => 'backInRight',
60
+                'animate__backInUp' => 'backInUp',
61
+                /* Back exits */
62
+                'animate__backOutDown' => 'backOutDown',
63
+                'animate__backOutLeft' => 'backOutLeft',
64
+                'animate__backOutRight' => 'backOutRight',
65
+                'animate__backOutUp' => 'backOutUp',
66
+                /* Bouncing entrances  */
67
+                'animate__bounceIn' => 'bounceIn',
68
+                'animate__bounceInDown' => 'bounceInDown',
69
+                'animate__bounceInLeft' => 'bounceInLeft',
70
+                'animate__bounceInRight' => 'bounceInRight',
71
+                'animate__bounceInUp' => 'bounceInUp',
72
+                /* Bouncing exits  */
73
+                'animate__bounceOut' => 'bounceOut',
74
+                'animate__bounceOutDown' => 'bounceOutDown',
75
+                'animate__bounceOutLeft' => 'bounceOutLeft',
76
+                'animate__bounceOutRight' => 'bounceOutRight',
77
+                'animate__bounceOutUp' => 'bounceOutUp',
78
+                /* Fading exits */
79
+                'animate__fadeOut' => 'fadeOut',
80
+                'animate__fadeOutDown' => 'fadeOutDown',
81
+                'animate__fadeOutDownBig' => 'fadeOutDownBig',
82
+                'animate__fadeOutLeft' => 'fadeOutLeft',
83
+                'animate__fadeOutLeftBig' => 'fadeOutLeftBig',
84
+                'animate__fadeOutRight' => 'fadeOutRight',
85
+                'animate__fadeOutRightBig' => 'fadeOutRightBig',
86
+                'animate__fadeOutUp' => 'fadeOutUp',
87
+                'animate__fadeOutUpBig' => 'fadeOutUpBig',
88
+                'animate__fadeOutTopLeft' => 'fadeOutTopLeft',
89
+                'animate__fadeOutTopRight' => 'fadeOutTopRight',
90
+                'animate__fadeOutBottomRight' => 'fadeOutBottomRight',
91
+                'animate__fadeOutBottomLeft' => 'fadeOutBottomLeft',
92
+                /* Flippers */
93
+                'animate__flip' => 'flip',
94
+                'animate__flipInX' => 'flipInX',
95
+                'animate__flipInY' => 'flipInY',
96
+                'animate__flipOutX' => 'flipOutX',
97
+                'animate__flipOutY' => 'flipOutY',
98
+                /* Lightspeed */
99
+                'animate__lightSpeedInRight' => 'lightSpeedInRight',
100
+                'animate__lightSpeedInLeft' => 'lightSpeedInLeft',
101
+                'animate__lightSpeedOutRight' => 'lightSpeedOutRight',
102
+                'animate__lightSpeedOutLeft' => 'lightSpeedOutLeft',
103
+                /* Rotating entrances */
104
+                'animate__rotateIn' => 'rotateIn',
105
+                'animate__rotateInDownLeft' => 'rotateInDownLeft',
106
+                'animate__rotateInDownRight' => 'rotateInDownRight',
107
+                'animate__rotateInUpLeft' => 'rotateInUpLeft',
108
+                'animate__rotateInUpRight' => 'rotateInUpRight',
109
+                /* Rotating exits */
110
+                'animate__rotateOut' => 'rotateOut',
111
+                'animate__rotateOutDownLeft' => 'rotateOutDownLeft',
112
+                'animate__rotateOutDownRight' => 'rotateOutDownRight',
113
+                'animate__rotateOutUpLeft' => 'rotateOutUpLeft',
114
+                'animate__rotateOutUpRight' => 'rotateOutUpRight',
115
+                /* Specials */
116
+                'animate__hinge' => 'hinge',
117
+                'animate__jackInTheBox' => 'jackInTheBox',
118
+                'animate__rollIn' => 'rollIn',
119
+                'animate__rollOut' => 'rollOut',
120
+                /* Zooming entrances */
121
+                'animate__zoomIn' => 'zoomIn',
122
+                'animate__zoomInDown' => 'zoomInDown',
123
+                'animate__zoomInLeft' => 'zoomInLeft',
124
+                'animate__zoomInRight' => 'zoomInRight',
125
+                'animate__zoomInUp' => 'zoomInUp',
126
+                /* Zooming exits */
127
+                'animate__zoomOut' => 'zoomOut',
128
+                'animate__zoomOutDown' => 'zoomOutDown',
129
+                'animate__zoomOutLeft' => 'zoomOutLeft',
130
+                'animate__zoomOutRight' => 'zoomOutRight',
131
+                'animate__zoomOutUp' => 'zoomOutUp',
132
+                /* Sliding entrances */
133
+                'animate__slideInDown' => 'slideInDown',
134
+                'animate__slideInLeft' => 'slideInLeft',
135
+                'animate__slideInRight' => 'slideInRight',
136
+                'animate__slideInUp' => 'slideInUp',
137
+                /* Sliding exits */
138
+                'animate__slideOutDown' => 'slideOutDown',
139
+                'animate__slideOutLeft' => 'slideOutLeft',
140
+                'animate__slideOutRight' => 'slideOutRight',
141
+                'animate__slideOutUp' => 'slideOutUp',
142
+            ),
143
+            'eval' => array('chosen' => 'true', 'tl_class' => 'clr')
144
+        ),
145
+
146
+        'size' => array(
147
+            'label' => array('Bildbreite und Bildhöhe', ''),
148
+            'inputType' => 'imageSize',
149
+            'options' => System::getImageSizes(),
150
+            'reference' => &$GLOBALS['TL_LANG']['MSC'],
151
+            'eval' => array(
152
+                'rgxp' => 'digit',
153
+                'includeBlankOption' => true,
154
+            ),
155
+        ),
156
+
157
+        'selecttype' => array(
158
+            'label' => array('Bilder ', ''),
159
+            'inputType' => 'radio',
160
+            'options' => array(
161
+                'multiple' => 'Mehrere Bilder oder Ordner auswählen',
162
+                'single' => 'Bilder einzeln auswählen und optional Bildbeschreibung und Bildtitel hinzufügen',
163
+            ),
164
+        ),
165
+
166
+
167
+        'settings_1' => array(
168
+            'label' => array('Slider-Einstellungen', ''),
169
+            'inputType' => 'group',
170
+            'eval' => array('tl_class' => 'clr'),
171
+        ),
172
+
173
+
174
+        'space_between' => array(
175
+            'label' => array('Abstand zwischen den Slides in PX', 'Standard: 30'),
176
+            'inputType' => 'text',
177
+            'eval' => array('tl_class' => 'w50'),
178
+        ),
179
+
180
+        'slides_per_view' => array(
181
+            'label' => array('Wie viele Slides sind sichtbar', 'Beispielsweise 1.5 um rechts und links eine Vorschau des nächsten Slides anzuzeigen'),
182
+            'inputType' => 'text',
183
+            'eval' => array('tl_class' => 'w50', 'mandatory' => true),
184
+        ),
185
+
186
+
187
+        'slide_effect' => array(
188
+            'label' => array(
189
+                'de' => array('Slide-Effekt', ''),
190
+            ),
191
+            'inputType' => 'select',
192
+            'options' => array(
193
+                'slide' => 'Slide (Standard)',
194
+                'coverflow' => 'Coverflow',
195
+                'fade' => 'Fade',
196
+                'flip' => 'Flip',
197
+                'cube' => 'Cube',
198
+
199
+            ),
200
+            'eval' => array('tl_class' => 'w50'),
201
+        ),
202
+
203
+
204
+        'transition_time' => array(
205
+            'label' => array('Animationszeit in ms', 'Standard: 1500'),
206
+            'inputType' => 'text',
207
+            'eval' => array('tl_class' => 'w50'),
208
+        ),
209
+
210
+        'open_lightbox' => array(
211
+            'label' => array('Bilder in Lightbox öffnen', ''),
212
+            'inputType' => 'checkbox',
213
+            'eval' => array('tl_class' => ' clr'),
214
+        ),
215
+
216
+        'show_pagination' => array(
217
+            'label' => array('Paginierung anzeigen', 'mittig unter dem Slider, in Form von Punkten'),
218
+            'inputType' => 'checkbox',
219
+            'eval' => array('tl_class' => ' clr'),
220
+        ),
221
+
222
+        'show_arrows' => array(
223
+            'label' => array('Pfeile anzeigen', ''),
224
+            'inputType' => 'checkbox',
225
+            'eval' => array('tl_class' => ' clr'),
226
+        ),
227
+
228
+        /*
229
+        'centered_slides' => array(
230
+            'label' => array('Slides passe', ''),
231
+            'inputType' => 'checkbox',
232
+            'eval' => array('tl_class' => ' clr'),
233
+        ),
234
+        */
235
+
236
+        'loop' => array(
237
+            'label' => array('Automatisch wieder von Anfang starten', '"loop"'),
238
+            'inputType' => 'checkbox',
239
+            'eval' => array('tl_class' => ' clr'),
240
+        ),
241
+
242
+        'autoplay' => array(
243
+            'label' => array('Autoplay aktivieren', ''),
244
+            'inputType' => 'checkbox',
245
+            'eval' => array('tl_class' => ' clr'),
246
+        ),
247
+
248
+        'autoplay_time' => array(
249
+            'label' => array('Autoplay-Zyklus', 'nach wie viel MS soll zum nächsten Slide gewechselt werden, Standard: 3000'),
250
+            'inputType' => 'text',
251
+            'dependsOn' => array(
252
+                'field' => 'autoplay',
253
+            ),
254
+        ),
255
+
256
+        'settings_2' => array(
257
+            'label' => array('Slides', ''),
258
+            'inputType' => 'group',
259
+            'eval' => array('tl_class' => 'clr'),
260
+        ),
261
+
262
+
263
+        'multiSRC' => array(
264
+            'inputType' => 'standardField',
265
+            'dependsOn' => array(
266
+                'field' => 'selecttype',
267
+                'value' => 'multiple',
268
+            ),
269
+            'eval' => array(
270
+                'multiple' => true,
271
+                'fieldType' => 'checkbox',
272
+                'orderField' => 'orderSRC',
273
+                'files' => true,
274
+                'mandatory' => false,
275
+                'isGallery' => true,
276
+                'extensions' => 'jpg,jpeg,png,svg',
277
+            ),
278
+        ),
279
+        'galery' => array(
280
+            'label' => array('Slides', ''),
281
+            'elementLabel' => '%s. Slide',
282
+            'inputType' => 'list',
283
+            'minItems' => 1,
284
+            'maxItems' => 20,
285
+            'dependsOn' => array(
286
+                'field' => 'selecttype',
287
+                'value' => 'single',
288
+            ),
289
+            'fields' => array(
290
+                'slide' => array(
291
+                    'label' => array('Bild', ''),
292
+                    'inputType' => 'fileTree',
293
+                    'eval' => array(
294
+                        'multiple' => false,
295
+                        'fieldType' => 'radio',
296
+                        'filesOnly' => true,
297
+                        'extensions' => 'jpg,jpeg,png,svg',
298
+                    ),
299
+                ),
300
+                'slide_text' => array(
301
+                    'label' => array('Beschreibung', ''),
302
+                    'inputType' => 'textarea',
303
+                    'eval' => array('rte' => 'tinyMCE'),
304
+                ),
305
+            ),
306
+        ),
307
+    ),
308
+);