Browse code

Add geodata fields

Benjamin Roth authored on01/10/2024 11:59:29
Showing1 changed files
... ...
@@ -87,7 +87,7 @@ $GLOBALS['TL_DCA']['tl_vr_re_managedProperties'] = array
87 87
     'palettes' => array
88 88
     (
89 89
         '__selector__'                => array(),
90
-        'default'                     => '{data_legend},address,postal,city,gallerySRC;{description_legend},description;{map_legend},mapIframe;{publish_legend},published,start,stop',
90
+        'default'                     => '{data_legend},address,postal,city,gallerySRC;{description_legend},description;{map_legend},mapIframe,geox,geoy;{publish_legend},published,start,stop',
91 91
     ),
92 92
 
93 93
     // Subpalettes
... ...
@@ -157,6 +157,22 @@ $GLOBALS['TL_DCA']['tl_vr_re_managedProperties'] = array
157 157
             'explanation'             => 'insertTags',
158 158
             'sql'                     => "mediumtext NULL"
159 159
         ),
160
+        'geox' => array
161
+        (
162
+            'exclude'                 => true,
163
+            'inputType'               => 'c4g_text',
164
+            'eval'                    => ['mandatory'=>false, 'maxlength'=>20, 'tl_class'=>'w50 wizard'],
165
+            'wizard'                  => [['\con4gis\MapsBundle\Classes\GeoPicker', 'getPickerLink']],
166
+            'sql'                     => "varchar(20) NOT NULL default ''"
167
+        ),
168
+        'geoy' => array
169
+        (
170
+            'exclude'                 => true,
171
+            'inputType'               => 'c4g_text',
172
+            'eval'                    => ['mandatory'=>false, 'maxlength'=>20, 'tl_class'=>'w50 wizard'],
173
+            'wizard'                  => [['\con4gis\MapsBundle\Classes\GeoPicker', 'getPickerLink']],
174
+            'sql'                     => "varchar(20) NOT NULL default ''"
175
+        ),
160 176
         'published'             => array
161 177
         (
162 178
             'exclude'   => true,
Browse code

Integrate managed properties BE module and FE modules

Benjamin Roth authored on07/08/2024 13:28:28
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,184 @@
1
+<?php
2
+
3
+declare(strict_types=1);
4
+
5
+/**
6
+ * OBG Customizations
7
+ *
8
+ * Copyright (c) 2021 vonRotenberg
9
+ *
10
+ * @license commercial
11
+ */
12
+
13
+use Contao\DC_Table;
14
+use Contao\DataContainer;
15
+
16
+$GLOBALS['TL_DCA']['tl_vr_re_managedProperties'] = array
17
+(
18
+    // Config
19
+    'config' => array
20
+    (
21
+        'dataContainer'               => DC_Table::class,
22
+        'enableVersioning'            => true,
23
+        'markAsCopy'                  => 'address',
24
+        'sql' => array
25
+        (
26
+            'keys' => array
27
+            (
28
+                'id' => 'primary',
29
+            )
30
+        )
31
+    ),
32
+
33
+    // List
34
+    'list' => array
35
+    (
36
+        'sorting' => array
37
+        (
38
+            'mode'                    => DataContainer::MODE_SORTABLE,
39
+            'fields'                  => array('address'),
40
+            'flag'                    => DataContainer::SORT_INITIAL_LETTER_ASC,
41
+            'panelLayout'             => 'filter;sort,search,limit'
42
+        ),
43
+        'label' => array
44
+        (
45
+            'fields'                  => array('address'),
46
+        ),
47
+        'global_operations' => array
48
+        (
49
+            'all' => array
50
+            (
51
+                'href'                => 'act=select',
52
+                'class'               => 'header_edit_all',
53
+                'attributes'          => 'onclick="Backend.getScrollOffset()" accesskey="e"'
54
+            )
55
+        ),
56
+        'operations' => array
57
+        (
58
+            'edit' => array
59
+            (
60
+                'href'                => 'act=edit',
61
+                'icon'                => 'edit.svg',
62
+            ),
63
+            'copy' => array
64
+            (
65
+                'href'                => 'act=copy',
66
+                'icon'                => 'copy.svg'
67
+            ),
68
+            'delete' => array
69
+            (
70
+                'href'                => 'act=delete',
71
+                'icon'                => 'delete.svg',
72
+                'attributes'          => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? null) . '\'))return false;Backend.getScrollOffset()"'
73
+            ),
74
+            'toggle' => array(
75
+                'href'                => 'act=toggle&amp;field=published',
76
+                'icon'                => 'visible.svg',
77
+            ),
78
+            'show' => array
79
+            (
80
+                'href'                => 'act=show',
81
+                'icon'                => 'show.svg'
82
+            )
83
+        )
84
+    ),
85
+
86
+    // Palettes
87
+    'palettes' => array
88
+    (
89
+        '__selector__'                => array(),
90
+        'default'                     => '{data_legend},address,postal,city,gallerySRC;{description_legend},description;{map_legend},mapIframe;{publish_legend},published,start,stop',
91
+    ),
92
+
93
+    // Subpalettes
94
+    'subpalettes' => array
95
+    (
96
+    ),
97
+
98
+    // Fields
99
+    'fields' => array
100
+    (
101
+        'id' => array
102
+        (
103
+            'sql'                     => "int(10) unsigned NOT NULL auto_increment"
104
+        ),
105
+        'tstamp' => array
106
+        (
107
+            'sql'                     => "int(10) unsigned NOT NULL default 0"
108
+        ),
109
+        'description' => array
110
+        (
111
+            'exclude'                 => true,
112
+            'inputType'               => 'textarea',
113
+            'eval'                    => array('mandatory'=>false, 'rte'=>'tinyMCE', 'helpwizard'=>true, 'tl_class'=>'clr'),
114
+            'explanation'             => 'insertTags',
115
+            'sql'                     => "mediumtext NULL"
116
+        ),
117
+        'postal'                => array
118
+        (
119
+            'exclude'   => true,
120
+            'inputType' => 'text',
121
+            'eval'      => array('mandatory' => true, 'rgxp' => 'natural', 'maxlength' => 5, 'tl_class' => 'w50'),
122
+            'sql'       => "varchar(5) NOT NULL default ''"
123
+        ),
124
+        'city'                  => array
125
+        (
126
+            'exclude'   => true,
127
+            'inputType' => 'text',
128
+            'default'   => 'Kehl',
129
+            'eval'      => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
130
+            'sql'       => "varchar(255) NOT NULL default ''"
131
+        ),
132
+        'address'               => array
133
+        (
134
+            'exclude'   => true,
135
+            'filter'    => true,
136
+            'inputType' => 'text',
137
+            'eval'      => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
138
+            'sql'       => "varchar(255) NOT NULL default ''"
139
+        ),
140
+        'gallerySRC'            => array
141
+        (
142
+            'exclude'   => true,
143
+            'inputType' => 'fileTree',
144
+            'eval'      => array('mandatory' => true, 'filesOnly' => true, 'fieldType' => 'checkbox', 'multiple' => true, 'tl_class' => 'clr', 'orderField' => 'orderSRC', 'files' => true, 'extensions' => \Contao\Config::get('validImageTypes'), 'isGallery' => true),
145
+            'sql'       => "blob NULL"
146
+        ),
147
+        'orderSRC'              => array
148
+        (
149
+            'label' => &$GLOBALS['TL_LANG']['MSC']['sortOrder'],
150
+            'sql'   => "blob NULL"
151
+        ),
152
+        'mapIframe'             => array
153
+        (
154
+            'search'                  => true,
155
+            'inputType'               => 'textarea',
156
+            'eval'                    => array('useRawRequestData'=>true, 'class'=>'monospace', 'rte'=>'ace|html', 'helpwizard'=>true),
157
+            'explanation'             => 'insertTags',
158
+            'sql'                     => "mediumtext NULL"
159
+        ),
160
+        'published'             => array
161
+        (
162
+            'exclude'   => true,
163
+            'filter'    => true,
164
+            'toggle'    => true,
165
+            'inputType' => 'checkbox',
166
+            'eval'      => array('doNotCopy' => true),
167
+            'sql'       => "char(1) NOT NULL default ''"
168
+        ),
169
+        'start'                 => array
170
+        (
171
+            'exclude'   => true,
172
+            'inputType' => 'text',
173
+            'eval'      => array('rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'),
174
+            'sql'       => "varchar(10) NOT NULL default ''"
175
+        ),
176
+        'stop'                  => array
177
+        (
178
+            'exclude'   => true,
179
+            'inputType' => 'text',
180
+            'eval'      => array('rgxp' => 'datim', 'datepicker' => true, 'tl_class' => 'w50 wizard'),
181
+            'sql'       => "varchar(10) NOT NULL default ''"
182
+        )
183
+    )
184
+);