Browse code

Backend definition of GridPlacementWrapper content element

Benjamin Roth authored on28/02/2025 14:58:41
Showing7 changed files
... ...
@@ -17,6 +17,15 @@ $GLOBALS['TL_DCA']['tl_content']['palettes']['background_wrapper'] = '
17 17
     {invisible_legend:hide},invisible,start,stop
18 18
 ';
19 19
 
20
+$GLOBALS['TL_DCA']['tl_content']['palettes']['grid_placement_wrapper'] = '
21
+    {type_legend},type,headline;
22
+    {grid_placement_legend},vr_gpw_grid;
23
+    {template_legend:hide},customTpl;
24
+    {protected_legend:hide},protected;
25
+    {expert_legend:hide},cssID;
26
+    {invisible_legend:hide},invisible,start,stop
27
+';
28
+
20 29
 $GLOBALS['TL_DCA']['tl_content']['subpalettes']['vr_bw_addImage'] = 'vr_bw_bgSRC,size,vr_bw_bgSize,vr_bw_bgPos,vr_bw_bgOpacity';
21 30
 $GLOBALS['TL_DCA']['tl_content']['subpalettes']['vr_bw_minHeight_-mh-ratio'] = 'vr_bw_mh_ratio';
22 31
 $GLOBALS['TL_DCA']['tl_content']['subpalettes']['vr_bw_minHeight_-mh-vh'] = 'vr_bw_mh_viewport';
... ...
@@ -213,3 +222,14 @@ $GLOBALS['TL_DCA']['tl_content']['fields']['vr_bw_padding'] = [
213 222
     'eval'      => ['mandatory' => false, 'tl_class' => 'w50'],
214 223
     'sql'       => "varchar(24) NOT NULL default ''"
215 224
 ];
225
+
226
+$GLOBALS['TL_DCA']['tl_content']['fields']['vr_gpw_grid'] = [
227
+    'exclude' => true,
228
+    'inputType' => 'gridPosition',
229
+    'eval'      => [
230
+        'tl_class' => 'clr',
231
+        'cols' => 12,
232
+        'rows' => 6,
233
+    ],
234
+    'sql' => "text NULL",
235
+];
... ...
@@ -10,21 +10,13 @@
10 10
                 <source>Provides a background wrapper with centered content area.</source>
11 11
                 <target>Stellt einen Hintergrundumschlag zur Verfügung mit zentriertem Inhaltsbereich.</target>
12 12
             </trans-unit>
13
-            <trans-unit id="FMD.managed_property.0">
14
-                <source>Managed properties</source>
15
-                <target>Verwaltete Objekte</target>
13
+            <trans-unit id="CTE.grid_placement_wrapper.0">
14
+                <source>Grid placement Wrapper</source>
15
+                <target>Grid Platzierungs-Umschlag</target>
16 16
             </trans-unit>
17
-            <trans-unit id="FMD.managed_property.1">
18
-                <source>Administration of managed properties.</source>
19
-                <target>Pflege von verwalteten Objekten.</target>
20
-            </trans-unit>
21
-            <trans-unit id="FMD.managed_property_reader.0">
22
-                <source>Managed property reader</source>
23
-                <target>Verwaltetes Objekt Leser</target>
24
-            </trans-unit>
25
-            <trans-unit id="FMD.managed_property_reader.1">
26
-                <source>Shows details of a managed property.</source>
27
-                <target>Zeigt Details eines verwalteten Objektes.</target>
17
+            <trans-unit id="CTE.grid_placement_wrapper.1">
18
+                <source>Provides a grid wrapper where you can define the position of the nested fragments.</source>
19
+                <target>Bietet einen Grid-Wrapper, in dem Sie die Position der verschachtelten Fragmente festlegen können.</target>
28 20
             </trans-unit>
29 21
         </body>
30 22
     </file>
... ...
@@ -140,6 +140,20 @@
140 140
                 <source>Content settings</source>
141 141
                 <target>Inhalts-Einstellungen</target>
142 142
             </trans-unit>
143
+
144
+            <trans-unit id="tl_content.vr_gpw_grid.0">
145
+                <source>Define placement</source>
146
+                <target>Platzierung definieren</target>
147
+            </trans-unit>
148
+            <trans-unit id="tl_content.vr_gpw_grid.1">
149
+                <source>Define the position of nested fragments in the grid. Select a single cell or a rectangle of multiple cells.</source>
150
+                <target>Die Position verschachtelter Fragmente im Raster definieren. Wählen Sie eine einzelne Zelle oder ein Rechteck mit mehreren Zellen aus.</target>
151
+            </trans-unit>
152
+
153
+            <trans-unit id="tl_content.grid_placement_legend">
154
+                <source>Grid placement</source>
155
+                <target>Raster-Platzierung</target>
156
+            </trans-unit>
143 157
         </body>
144 158
     </file>
145 159
 </xliff>
... ...
@@ -8,17 +8,11 @@
8 8
             <trans-unit id="CTE.background_wrapper.1">
9 9
                 <source>Provides a background wrapper with centered content area.</source>
10 10
             </trans-unit>
11
-            <trans-unit id="FMD.managed_property.0">
12
-                <source>Managed properties</source>
11
+            <trans-unit id="CTE.grid_placement_wrapper.0">
12
+                <source>Grid placement Wrapper</source>
13 13
             </trans-unit>
14
-            <trans-unit id="FMD.managed_property.1">
15
-                <source>Administration of managed properties.</source>
16
-            </trans-unit>
17
-            <trans-unit id="FMD.managed_property_reader.0">
18
-                <source>Managed property reader</source>
19
-            </trans-unit>
20
-            <trans-unit id="FMD.managed_property_reader.1">
21
-                <source>Shows details of a managed property.</source>
14
+            <trans-unit id="CTE.grid_placement_wrapper.1">
15
+                <source>Provides a grid wrapper where you can define the position of the nested fragments.</source>
22 16
             </trans-unit>
23 17
         </body>
24 18
     </file>
25 19
new file mode 100644
... ...
@@ -0,0 +1,69 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<xliff version="1.1">
3
+    <file source-language="en">
4
+        <body>
5
+            <trans-unit id="tl_content.vr_bw_addImage.0">
6
+                <source>Add background image/video</source>
7
+            </trans-unit>
8
+            <trans-unit id="tl_content.vr_bw_addImage.1">
9
+                <source>Adds a background image/video to the wrapper element.</source>
10
+            </trans-unit>
11
+            <trans-unit id="tl_content.vr_bw_bgSRC.0">
12
+                <source>Background source file</source>
13
+            </trans-unit>
14
+            <trans-unit id="tl_content.vr_bw_bgSRC.1">
15
+                <source>Please choose an image or video file from the files directory.</source>
16
+            </trans-unit>
17
+            <trans-unit id="tl_content.vr_bw_bgSize.0">
18
+                <source>Background scaling</source>
19
+            </trans-unit>
20
+            <trans-unit id="tl_content.vr_bw_bgSize.1">
21
+                <source>Please choose how the background should be scaled.</source>
22
+            </trans-unit>
23
+            <trans-unit id="tl_content.vr_bw_bgPos.0">
24
+                <source>Background position</source>
25
+            </trans-unit>
26
+            <trans-unit id="tl_content.vr_bw_bgPos.1">
27
+                <source>Please choose the positioning of the background.</source>
28
+            </trans-unit>
29
+            <trans-unit id="tl_content.vr_bw_bgOpacity.0">
30
+                <source>Background opacity</source>
31
+            </trans-unit>
32
+            <trans-unit id="tl_content.vr_bw_bgOpacity.1">
33
+                <source>You can set the background image/video opacity.</source>
34
+            </trans-unit>
35
+            <trans-unit id="tl_content.vr_bw_bgColor.0">
36
+                <source>Background color</source>
37
+            </trans-unit>
38
+            <trans-unit id="tl_content.vr_bw_bgColor.1">
39
+                <source>Set a background color to the wrapper element.</source>
40
+            </trans-unit>
41
+            <trans-unit id="tl_content.vr_bw_bgWidthRestriction.0">
42
+                <source>Restrict background width</source>
43
+            </trans-unit>
44
+            <trans-unit id="tl_content.vr_bw_bgWidthRestriction.1">
45
+                <source>Restrict background image/video to the content area width.</source>
46
+            </trans-unit>
47
+            <trans-unit id="tl_content.vr_bw_minHeight.0">
48
+                <source>Minimum height</source>
49
+            </trans-unit>
50
+            <trans-unit id="tl_content.vr_bw_minHeight.1">
51
+                <source>Set a minimum height for the wrapper element.</source>
52
+            </trans-unit>
53
+            <trans-unit id="tl_content.vr_bw_mh_viewport.0">
54
+                <source>Viewport oriented height</source>
55
+            </trans-unit>
56
+
57
+            <trans-unit id="tl_content.vr_gpw_grid.0">
58
+                <source>Define placement</source>
59
+            </trans-unit>
60
+            <trans-unit id="tl_content.vr_gpw_grid.1">
61
+                <source>Define the position of nested fragments in the grid. Select a single cell or a rectangle of multiple cells.</source>
62
+            </trans-unit>
63
+
64
+            <trans-unit id="tl_content.grid_placement_legend">
65
+                <source>Grid placement</source>
66
+            </trans-unit>
67
+        </body>
68
+    </file>
69
+</xliff>
0 70
new file mode 100644
... ...
@@ -0,0 +1,6 @@
1
+{% extends "@Contao/content_element/_base.html.twig" %}
2
+{% import "@ContaoCore/Image/Studio/_macros.html.twig" as studio %}
3
+
4
+{% block content %}
5
+
6
+{% endblock %}
0 7
new file mode 100644
... ...
@@ -0,0 +1,24 @@
1
+<?php
2
+
3
+declare(strict_types=1);
4
+
5
+namespace vonRotenberg\CoretoolsBundle\Controller\ContentElement;
6
+
7
+use Contao\ContentModel;
8
+use Contao\CoreBundle\Controller\ContentElement\AbstractContentElementController;
9
+use Contao\CoreBundle\DependencyInjection\Attribute\AsContentElement;
10
+use Contao\CoreBundle\Twig\FragmentTemplate;
11
+use Contao\FilesModel;
12
+use Contao\System;
13
+use Symfony\Component\HttpFoundation\Request;
14
+use Symfony\Component\HttpFoundation\Response;
15
+
16
+#[AsContentElement(category: 'miscellaneous', nestedFragments: true)]
17
+class GridPlacementWrapperController extends AbstractContentElementController
18
+{
19
+    protected function getResponse(FragmentTemplate $template, ContentModel $model, Request $request): Response
20
+    {
21
+
22
+        return $template->getResponse();
23
+    }
24
+}