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,414 @@
1
+<?php
2
+// rsce_my_element_config.php
3
+return array(
4
+    'label' => array('Custom | "Text"-Navigation und optional Bild + Text je Slide (zweispaltig)', ''),
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
+        ),
18
+        'subline' => array(
19
+            'label' => array('Subline', 'Text unterhalb der Überschrift'),
20
+            'inputType' => 'text',
21
+            'eval' => array('tl_class' => 'w50'),
22
+        ),
23
+        'animation_type' => array(
24
+            'label' => array(
25
+                'de' => array('Art der Einblendeanimation', 'Siehe https://animate.style/ für Beispiele'),
26
+            ),
27
+            'inputType' => 'select',
28
+            'options' => array(
29
+                /* Fading entrances  */
30
+                'animate__fadeInUp' => 'fadeInUp (Meistens Standard)',
31
+                'no-animation' => 'Keine Animation',
32
+                'animate__fadeIn' => 'fadeIn',
33
+                'animate__fadeInDown' => 'fadeInDown',
34
+                'animate__fadeInDownBig' => 'fadeInDownBig',
35
+                'animate__fadeInLeft' => 'fadeInLeft',
36
+                'animate__fadeInLeftBig' => 'fadeInLeftBig',
37
+                'animate__fadeInRight' => 'fadeInRight',
38
+                'animate__fadeInRightBig' => 'fadeInRightBig',
39
+                'animate__fadeInUpBig' => 'fadeInUpBig',
40
+                'animate__fadeInTopLeft' => 'fadeInTopLeft',
41
+                'animate__fadeInTopRight' => 'fadeInTopRight',
42
+                'animate__fadeInBottomLeft' => 'fadeInBottomLeft',
43
+                'animate__fadeInBottomRight' => 'fadeInBottomRight',
44
+                /* Attention seekers  */
45
+                'animate__bounce' => 'bounce',
46
+                'animate__flash' => 'flash',
47
+                'animate__pulse' => 'pulse',
48
+                'animate__rubberBand' => 'rubberBand',
49
+                'animate__shakeX' => 'shakeX',
50
+                'animate__shakeY' => 'shakeY',
51
+                'animate__headShake' => 'headShake',
52
+                'animate__swing' => 'swing',
53
+                'animate__tada' => 'tada',
54
+                'animate__wobble' => 'wobble',
55
+                'animate__jello' => 'jello',
56
+                'animate__heartBeat' => 'heartBeat',
57
+                /* Back entrances */
58
+                'animate__backInDown' => 'backInDown',
59
+                'animate__backInLeft' => 'backInLeft',
60
+                'animate__backInRight' => 'backInRight',
61
+                'animate__backInUp' => 'backInUp',
62
+                /* Back exits */
63
+                'animate__backOutDown' => 'backOutDown',
64
+                'animate__backOutLeft' => 'backOutLeft',
65
+                'animate__backOutRight' => 'backOutRight',
66
+                'animate__backOutUp' => 'backOutUp',
67
+                /* Bouncing entrances  */
68
+                'animate__bounceIn' => 'bounceIn',
69
+                'animate__bounceInDown' => 'bounceInDown',
70
+                'animate__bounceInLeft' => 'bounceInLeft',
71
+                'animate__bounceInRight' => 'bounceInRight',
72
+                'animate__bounceInUp' => 'bounceInUp',
73
+                /* Bouncing exits  */
74
+                'animate__bounceOut' => 'bounceOut',
75
+                'animate__bounceOutDown' => 'bounceOutDown',
76
+                'animate__bounceOutLeft' => 'bounceOutLeft',
77
+                'animate__bounceOutRight' => 'bounceOutRight',
78
+                'animate__bounceOutUp' => 'bounceOutUp',
79
+                /* Fading exits */
80
+                'animate__fadeOut' => 'fadeOut',
81
+                'animate__fadeOutDown' => 'fadeOutDown',
82
+                'animate__fadeOutDownBig' => 'fadeOutDownBig',
83
+                'animate__fadeOutLeft' => 'fadeOutLeft',
84
+                'animate__fadeOutLeftBig' => 'fadeOutLeftBig',
85
+                'animate__fadeOutRight' => 'fadeOutRight',
86
+                'animate__fadeOutRightBig' => 'fadeOutRightBig',
87
+                'animate__fadeOutUp' => 'fadeOutUp',
88
+                'animate__fadeOutUpBig' => 'fadeOutUpBig',
89
+                'animate__fadeOutTopLeft' => 'fadeOutTopLeft',
90
+                'animate__fadeOutTopRight' => 'fadeOutTopRight',
91
+                'animate__fadeOutBottomRight' => 'fadeOutBottomRight',
92
+                'animate__fadeOutBottomLeft' => 'fadeOutBottomLeft',
93
+                /* Flippers */
94
+                'animate__flip' => 'flip',
95
+                'animate__flipInX' => 'flipInX',
96
+                'animate__flipInY' => 'flipInY',
97
+                'animate__flipOutX' => 'flipOutX',
98
+                'animate__flipOutY' => 'flipOutY',
99
+                /* Lightspeed */
100
+                'animate__lightSpeedInRight' => 'lightSpeedInRight',
101
+                'animate__lightSpeedInLeft' => 'lightSpeedInLeft',
102
+                'animate__lightSpeedOutRight' => 'lightSpeedOutRight',
103
+                'animate__lightSpeedOutLeft' => 'lightSpeedOutLeft',
104
+                /* Rotating entrances */
105
+                'animate__rotateIn' => 'rotateIn',
106
+                'animate__rotateInDownLeft' => 'rotateInDownLeft',
107
+                'animate__rotateInDownRight' => 'rotateInDownRight',
108
+                'animate__rotateInUpLeft' => 'rotateInUpLeft',
109
+                'animate__rotateInUpRight' => 'rotateInUpRight',
110
+                /* Rotating exits */
111
+                'animate__rotateOut' => 'rotateOut',
112
+                'animate__rotateOutDownLeft' => 'rotateOutDownLeft',
113
+                'animate__rotateOutDownRight' => 'rotateOutDownRight',
114
+                'animate__rotateOutUpLeft' => 'rotateOutUpLeft',
115
+                'animate__rotateOutUpRight' => 'rotateOutUpRight',
116
+                /* Specials */
117
+                'animate__hinge' => 'hinge',
118
+                'animate__jackInTheBox' => 'jackInTheBox',
119
+                'animate__rollIn' => 'rollIn',
120
+                'animate__rollOut' => 'rollOut',
121
+                /* Zooming entrances */
122
+                'animate__zoomIn' => 'zoomIn',
123
+                'animate__zoomInDown' => 'zoomInDown',
124
+                'animate__zoomInLeft' => 'zoomInLeft',
125
+                'animate__zoomInRight' => 'zoomInRight',
126
+                'animate__zoomInUp' => 'zoomInUp',
127
+                /* Zooming exits */
128
+                'animate__zoomOut' => 'zoomOut',
129
+                'animate__zoomOutDown' => 'zoomOutDown',
130
+                'animate__zoomOutLeft' => 'zoomOutLeft',
131
+                'animate__zoomOutRight' => 'zoomOutRight',
132
+                'animate__zoomOutUp' => 'zoomOutUp',
133
+                /* Sliding entrances */
134
+                'animate__slideInDown' => 'slideInDown',
135
+                'animate__slideInLeft' => 'slideInLeft',
136
+                'animate__slideInRight' => 'slideInRight',
137
+                'animate__slideInUp' => 'slideInUp',
138
+                /* Sliding exits */
139
+                'animate__slideOutDown' => 'slideOutDown',
140
+                'animate__slideOutLeft' => 'slideOutLeft',
141
+                'animate__slideOutRight' => 'slideOutRight',
142
+                'animate__slideOutUp' => 'slideOutUp',
143
+            ),
144
+            'eval' => array('chosen' => 'true', 'tl_class' => 'clr')
145
+        ),
146
+
147
+
148
+        'is_fullwidth' => array(
149
+            'label' => array('Element auf volle Breite', ''),
150
+            'inputType' => 'checkbox',
151
+            'eval' => array('tl_class' => ' clr'),
152
+        ),
153
+
154
+        'nav_position' => array(
155
+            'label' => array(
156
+                'de' => array('Position der Navigation', ''),
157
+            ),
158
+            'inputType' => 'select',
159
+            'options' => array(
160
+                '1' => 'Oberhalb',
161
+                '2' => 'Unterhalb',
162
+                '3' => 'Links',
163
+                '4' => 'Rechts',
164
+            ),
165
+        ),
166
+
167
+        'element_type' => array(
168
+            'label' => array('Darstellungstyp', ''),
169
+            'inputType' => 'radio',
170
+            'options' => array(
171
+                'is_slider' => 'Darstellungstyp 1: Slider',
172
+                'is_buttons' => 'Darstellungstyp 2: Verlinkungen',
173
+            ),
174
+        ),
175
+
176
+
177
+        'fixed_image' => array(
178
+            'label' => array('Fixes Bild', ''),
179
+            'inputType' => 'fileTree',
180
+            'eval' => array(
181
+                'multiple' => false,
182
+                'fieldType' => 'radio',
183
+                'filesOnly' => true,
184
+                'extensions' => 'jpg,jpeg,png,svg',
185
+            ),
186
+            'dependsOn' => array(
187
+                'field' => 'element_type',
188
+                'value' => 'is_buttons',
189
+            ),
190
+        ),
191
+
192
+        'size_fixed' => array(
193
+            'label' => array('Bildbreite und Bildhöhe', ''),
194
+            'inputType' => 'imageSize',
195
+            'options' => System::getImageSizes(),
196
+            'reference' => &$GLOBALS['TL_LANG']['MSC'],
197
+            'eval' => array(
198
+                'rgxp' => 'digit',
199
+                'includeBlankOption' => true,
200
+            ),
201
+
202
+            'dependsOn' => array(
203
+                'field' => 'element_type',
204
+                'value' => 'is_buttons',
205
+            ),
206
+        ),
207
+
208
+
209
+        'settings_slider' => array(
210
+            'label' => array('Slider-Einstellungen', ''),
211
+            'inputType' => 'group',
212
+            'eval' => array('tl_class' => 'clr'),
213
+            'dependsOn' => array(
214
+                'field' => 'element_type',
215
+                'value' => 'is_slider',
216
+            ),
217
+        ),
218
+
219
+
220
+        'slide_effect' => array(
221
+            'label' => array(
222
+                'de' => array('Slide-Effekt', ''),
223
+            ),
224
+            'inputType' => 'select',
225
+            'options' => array(
226
+                'slide' => 'Slide (Standard)',
227
+                'fade' => 'Fade',
228
+                'coverflow' => 'Coverflow',
229
+                'flip' => 'Flip',
230
+                'cube' => 'Cube',
231
+
232
+            ),
233
+            'eval' => array('tl_class' => 'w50'),
234
+        ),
235
+
236
+
237
+        'transition_time' => array(
238
+            'label' => array('Animationszeit in ms', 'Standard: 500'),
239
+            'inputType' => 'text',
240
+            'eval' => array('tl_class' => 'w50'),
241
+        ),
242
+
243
+        'show_pagination' => array(
244
+            'label' => array('Paginierung anzeigen', 'mittig unter dem Slider, in Form von Punkten'),
245
+            'inputType' => 'checkbox',
246
+            'eval' => array('tl_class' => ' clr'),
247
+        ),
248
+
249
+        'show_arrows' => array(
250
+            'label' => array('Pfeile anzeigen', ''),
251
+            'inputType' => 'checkbox',
252
+            'eval' => array('tl_class' => ' clr'),
253
+        ),
254
+
255
+        'mousewheel' => array(
256
+            'label' => array('Slider-Navigation per Mausrad aktivieren', ''),
257
+            'inputType' => 'checkbox',
258
+            'eval' => array('tl_class' => ' clr'),
259
+        ),
260
+
261
+        'loop' => array(
262
+            'label' => array('Automatisch wieder von Anfang starten', '"loop"'),
263
+            'inputType' => 'checkbox',
264
+            'eval' => array('tl_class' => ' clr'),
265
+        ),
266
+
267
+        'autoplay' => array(
268
+            'label' => array('Autoplay aktivieren', ''),
269
+            'inputType' => 'checkbox',
270
+            'eval' => array('tl_class' => ' clr'),
271
+        ),
272
+
273
+        'autoplay_time' => array(
274
+            'label' => array('Autoplay-Zyklus', 'nach wie viel MS soll zum nächsten Slide gewechselt werden, Standard: 3000'),
275
+            'inputType' => 'text',
276
+            'dependsOn' => array(
277
+                'field' => 'autoplay',
278
+            ),
279
+        ),
280
+
281
+
282
+        'elements' => array(
283
+            'label' => array('Elemente', ''),
284
+            'elementLabel' => '%s. Element',
285
+            'inputType' => 'list',
286
+            'minItems' => 1,
287
+            'maxItems' => 999,
288
+            'fields' => array(
289
+
290
+                'slide_nav_text' => array(
291
+                    'label' => array('Text für Navigation', ''),
292
+                    'inputType' => 'text',
293
+                ),
294
+
295
+
296
+                'settings_2' => array(
297
+                    'label' => array('Bild (Nur relevant wenn "Darstellungstyp 1")', ''),
298
+                    'inputType' => 'group',
299
+                    'eval' => array('tl_class' => 'clr'),
300
+
301
+                ),
302
+
303
+                'row_reverse' => array(
304
+                    'label' => array('Spalten umkehren', 'Dadurch ist die Bildspalte rechts'),
305
+                    'inputType' => 'checkbox',
306
+                    'eval' => array('tl_class' => 'clr'),
307
+                ),
308
+
309
+
310
+                'column_width' => array(
311
+                    'label' => array(
312
+                        'de' => array('Breite der Bildspalte', 'Nur relevant wenn Navigationsposition oberhalb oder unterhalb'),
313
+                    ),
314
+                    'inputType' => 'select',
315
+                    'options' => array(
316
+                        'col-12 col-md-6 col-lg-3' => '25%',
317
+                        'col-12 col-md-6 col-lg-4' => '33%',
318
+                        'col-12 col-md-6' => '50%',
319
+                        'col-12 col-md-6 col-lg-8' => '66.66%',
320
+                        'col-12 col-md-6 col-lg-9' => '75%',
321
+                        'col-12' => 'Volle Breite',
322
+                        'col-12 col-md' => 'Automatische Breite (füllend)',
323
+                        'col-12 col-md-auto' => 'Breite anhand des Inhalts',
324
+                    ),
325
+                ),
326
+
327
+
328
+                'image' => array(
329
+                    'label' => array('Bild', ''),
330
+                    'inputType' => 'fileTree',
331
+                    'eval' => array(
332
+                        'multiple' => false,
333
+                        'fieldType' => 'radio',
334
+                        'filesOnly' => true,
335
+                        'extensions' => 'jpg,jpeg,png,svg',
336
+                    )
337
+                ),
338
+
339
+
340
+                'size' => array(
341
+                    'label' => array('Bildbreite und Bildhöhe', ''),
342
+                    'inputType' => 'imageSize',
343
+                    'options' => System::getImageSizes(),
344
+                    'reference' => &$GLOBALS['TL_LANG']['MSC'],
345
+                    'eval' => array(
346
+                        'rgxp' => 'digit',
347
+                        'includeBlankOption' => true,
348
+                    ),
349
+                ),
350
+
351
+
352
+                'settings_3' => array(
353
+                    'label' => array('Text (Nur relevant wenn "Darstellungstyp 1")', ''),
354
+                    'inputType' => 'group',
355
+                    'eval' => array('tl_class' => 'clr'),
356
+                ),
357
+
358
+                'onlystyle' => array(
359
+                    'label' => array('Text nur als Überschrift darstellen (hat dementsprechend keinen Einfluss auf SEO)', 'macht Sinn wenn man z. B. eine H3 unterhalb einer H1 anzeigen möchte, ohne dass eine H2 existiert'),
360
+                    'inputType' => 'checkbox',
361
+
362
+                ),
363
+
364
+
365
+                'text' => array(
366
+                    'label' => array('Überschrift', ''),
367
+                    'inputType' => 'text',
368
+                    'eval' => array('tl_class' => 'w50'),
369
+                ),
370
+
371
+                'headline_type' => array(
372
+                    'label' => array(
373
+                        'de' => array('Typ der Überschrift', ''),
374
+                    ),
375
+                    'inputType' => 'select',
376
+                    'options' => array(
377
+                        'h1' => 'H1 (Haupt-Headline für SEO, darf nur 1x vorkommen)',
378
+                        'h2' => 'H2 (Sollte H1 thematisch untergeordnet sein)',
379
+                        'h3' => 'H3 (Sollte H2 thematisch untergeordnet sein)',
380
+                        'h4' => 'H4',
381
+                        'h5' => 'H5',
382
+                    ),
383
+                    'eval' => array('tl_class' => 'w50'),
384
+                ),
385
+
386
+
387
+                'longtext' => array(
388
+                    'label' => array('Beschreibung', ''),
389
+                    'inputType' => 'textarea',
390
+                    'eval' => array('rte' => 'tinyMCE', 'tl_class' => 'clr'),
391
+                ),
392
+
393
+
394
+                'settings_url' => array(
395
+                    'label' => array('Verlinkung (Nur relevant wenn "Darstellungstyp 2")', ''),
396
+                    'inputType' => 'group',
397
+                    'eval' => array('tl_class' => 'clr'),
398
+
399
+                ),
400
+
401
+                'link_url' => array(
402
+                    'label' => array('Verlinkung (Nur relevant wenn "Darstellungstyp 1")'),
403
+                    'inputType' => 'url',
404
+                ),
405
+
406
+                'link_newtab' => array(
407
+                    'label' => array('Link in neuen Tab öffnen', ''),
408
+                    'inputType' => 'checkbox',
409
+                    'eval' => array('tl_class' => 'w50'),
410
+                ),
411
+            ),
412
+        ),
413
+    ),
414
+);