From bf376aa90077aea6d56ebe757d00aea7ef25e684 Mon Sep 17 00:00:00 2001
From: Dirk Wildt <dirk.wildt@verdigado.com>
Date: Thu, 4 Jul 2024 10:07:33 +0200
Subject: [PATCH] [FEATURE] New menu (backend) layouts #5888

---
 ChangeLog                               |   5 +
 Resources/Private/Tables/pages.xml      |  81 ++++++++++-
 Resources/Private/Tables/tt_content.xml | 171 ++++++++++++++++++++++++
 ext_emconf.php                          |   4 +-
 4 files changed, 257 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0f16234..e289647 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
 ChangeLog: https://bit.ly/31W8v32
 NEWSLETTER: https://die-netzmacher.de/newsletter/
 
+10.0.1
+  24-07-04
+	Author: Dirk Wildt (verdigado eG), support@verdigado.com
+	* #v5888: [TASK] pagetree with backend layouts
+
 10.0.0
   24-05-22
 	Author: Dirk Wildt (verdigado eG), support@verdigado.com
diff --git a/Resources/Private/Tables/pages.xml b/Resources/Private/Tables/pages.xml
index 3b317a1..736e871 100644
--- a/Resources/Private/Tables/pages.xml
+++ b/Resources/Private/Tables/pages.xml
@@ -589,6 +589,83 @@
         </sorting>
       </record>
     </root_Pagetree_Install>
+    <root_Pagetree_Layouts>
+      <record>
+        <title>Layouts</title>
+        <doktype>4</doktype>
+        <shortcut_mode>1</shortcut_mode>
+        <slug>
+          <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+          <value>%baseslug%/start-typo3-responsive-%pages:root.uid%/layouts</value>
+          <lang>
+            <de>%baseslug%/start-typo3-responsive-%pages:root.uid%/hauptnavigation/layouts</de>
+            <en>%baseslug%/start-typo3-responsive-%pages:root.uid%/layouts</en>
+          </lang>
+        </slug>
+        <sorting>
+          <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+          <value>128 * 6</value>
+          <prioriCalc>1</prioriCalc>
+        </sorting>
+      </record>   
+      <root_Pagetree_Layouts_Slim>
+        <record>
+          <title>Slim</title>
+          <backend_layout>start__silver_07</backend_layout>
+          <slug>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>%baseslug%/start-typo3-responsive-%pages:root.uid%/layouts/slim</value>
+            <lang>
+              <de>%baseslug%/start-typo3-responsive-%pages:root.uid%/hauptnavigation/layouts/slim</de>
+              <en>%baseslug%/start-typo3-responsive-%pages:root.uid%/layouts/slim</en>
+            </lang>
+          </slug>
+          <sorting>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>128 * 1</value>
+            <prioriCalc>1</prioriCalc>
+          </sorting>
+        </record>
+      </root_Pagetree_Layouts_Slim>
+      <root_Pagetree_Layouts_Mixed>
+        <record>
+          <title>Mixed</title>
+          <backend_layout>start__blue_01_01_lr</backend_layout>
+          <slug>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>%baseslug%/start-typo3-responsive-%pages:root.uid%/layouts/mixed</value>
+            <lang>
+              <de>%baseslug%/start-typo3-responsive-%pages:root.uid%/hauptnavigation/layouts/mixed</de>
+              <en>%baseslug%/start-typo3-responsive-%pages:root.uid%/layouts/mixed</en>
+            </lang>
+          </slug>
+          <sorting>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>128 * 2</value>
+            <prioriCalc>1</prioriCalc>
+          </sorting>
+        </record>
+      </root_Pagetree_Layouts_Mixed>
+      <root_Pagetree_Layouts_Wide>
+        <record>
+          <title>Wide</title>
+          <backend_layout>start__blue_04</backend_layout>
+          <slug>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>%baseslug%/start-typo3-responsive-%pages:root.uid%/layouts/wide</value>
+            <lang>
+              <de>%baseslug%/start-typo3-responsive-%pages:root.uid%/hauptnavigation/layouts/wide</de>
+              <en>%baseslug%/start-typo3-responsive-%pages:root.uid%/layouts/wide</en>
+            </lang>
+          </slug>
+          <sorting>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>128 * 3</value>
+            <prioriCalc>1</prioriCalc>
+          </sorting>
+        </record>
+      </root_Pagetree_Layouts_Wide>
+    </root_Pagetree_Layouts>
     <root_Pagetree_Themes>
       <record>
         <title>Themes</title>
@@ -602,7 +679,7 @@
         </slug>
         <sorting>
           <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
-          <value>128 * 6</value>
+          <value>128 * 7</value>
           <prioriCalc>1</prioriCalc>
         </sorting>
       </record>
@@ -802,7 +879,7 @@
         </slug>
         <sorting>
           <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
-          <value>128 * 6</value>
+          <value>128 * 9</value>
           <prioriCalc>1</prioriCalc>
         </sorting>
       </record>
diff --git a/Resources/Private/Tables/tt_content.xml b/Resources/Private/Tables/tt_content.xml
index 79f03fa..4cea542 100644
--- a/Resources/Private/Tables/tt_content.xml
+++ b/Resources/Private/Tables/tt_content.xml
@@ -2000,6 +2000,177 @@ Content Goes Here|This is longer content Donec id elit non mi porta gravida at e
         </header_Pagetree_Install>
       </records>
     </root_Pagetree_Install>
+    <root_Pagetree_Layouts>
+      <records>
+        <pagetree_layouts_above_the_content>
+          <header>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>Above the Content</value>
+            <lang>
+              <de>Über dem Inhalt</de>
+              <en>Above the Content</en>
+            </lang>
+          </header>
+          <bodytext>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value><![CDATA[<p>Placed above the content</p>]]></value>
+            <lang>
+              <de><![CDATA[<p>Position über dem Inhalt</p>]]></de>
+              <en><![CDATA[<p>Placed above the content</p>]]></en>
+            </lang>
+          </bodytext>
+          <colPos>3</colPos>
+          <CType>text</CType>
+          <sorting>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>128 * 1</value>
+            <prioriCalc>1</prioriCalc>
+          </sorting>
+          <tx_start_classpanel>callout</tx_start_classpanel>
+        </pagetree_layouts_above_the_content>
+        <pagetree_layouts_pagetree_layouts_left_margin>
+          <header>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>Left Margin</value>
+            <lang>
+              <de>Linke Randspalte</de>
+              <en>Left Margin</en>
+            </lang>
+          </header>
+          <bodytext>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value><![CDATA[<p>Placed in the left margin</p>]]></value>
+            <lang>
+              <de><![CDATA[<p>Position in der linken Spalte</p>]]></de>
+              <en><![CDATA[<p>Placed in the left margin</p>]]></en>
+            </lang>
+          </bodytext>
+          <colPos>1</colPos>
+          <CType>text</CType>
+          <sorting>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>128 * 2</value>
+            <prioriCalc>1</prioriCalc>
+          </sorting>
+        </pagetree_layouts_pagetree_layouts_left_margin>
+        <pagetree_layouts_pagetree_layouts_right_margin>
+          <header>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>Right Margin</value>
+            <lang>
+              <de>Rechte Randspalte</de>
+              <en>Right Margin</en>
+            </lang>
+          </header>
+          <colPos>2</colPos>
+          <CType>menu_subpages</CType>
+          <pages>%pages:root_Pagetree_Layouts.uid%</pages>
+          <sorting>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>128 * 3</value>
+            <prioriCalc>1</prioriCalc>
+          </sorting>
+        </pagetree_layouts_pagetree_layouts_right_margin>
+        <pagetree_layouts_pagetree_layouts_below_the_content>
+          <header>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>Below the Content</value>
+            <lang>
+              <de>Unter dem Inhalt</de>
+              <en>Below the Content</en>
+            </lang>
+          </header>
+          <bodytext>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value><![CDATA[<p>Placed below the  content</p>]]></value>
+            <lang>
+              <de><![CDATA[<p>Position unter dem Inhalt</p>]]></de>
+              <en><![CDATA[<p>Placed below the  content</p>]]></en>
+            </lang>
+          </bodytext>
+          <colPos>6</colPos>
+          <CType>text</CType>
+          <sorting>
+            <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+            <value>128 * 4</value>
+            <prioriCalc>1</prioriCalc>
+          </sorting>
+          <tx_start_classpanel>callout</tx_start_classpanel>
+        </pagetree_layouts_pagetree_layouts_below_the_content>
+      </records>
+      <root_Pagetree_Layouts_Slim>
+        <records>
+          <pagetree_layouts_slim>
+            <header>Slim</header>
+            <subheader>Silver 7</subheader>
+            <bodytext><![CDATA[<p>Backend-Layout</p>
+<ul>
+	<li>Slim - Silver 7</li>
+</ul>
+<p>Width <strong>slim</strong>:</p>
+<ul>
+	<li>Header: slim</li>
+	<li>Content: slim</li>
+	<li>Footer: slim</li>
+</ul>]]></bodytext>
+            <CType>text</CType>
+            <sorting>
+              <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+              <value>128 * 1</value>
+              <prioriCalc>1</prioriCalc>
+            </sorting>
+          </pagetree_layouts_slim>
+        </records>
+      </root_Pagetree_Layouts_Slim>
+      <root_Pagetree_Layouts_Mixed>
+        <records>
+          <pagetree_layouts_mixed>
+            <header>Mixed</header>
+            <subheader>Blue 1.1</subheader>
+            <bodytext><![CDATA[<p>Backend-Layout</p>
+<ul>
+	<li>Mixed - Blue 1.1</li>
+</ul>
+<p>Width <strong>mixed</strong>:</p>
+<ul>
+	<li>Header: wide</li>
+	<li>Content: slim</li>
+	<li>Footer: wide</li>
+</ul>]]></bodytext>
+            <CType>text</CType>
+            <sorting>
+              <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+              <value>128 * 1</value>
+              <prioriCalc>1</prioriCalc>
+            </sorting>
+          </pagetree_layouts_mixed>
+        </records>
+      </root_Pagetree_Layouts_Mixed>
+      <root_Pagetree_Layouts_Wide>
+        <records>
+          <pagetree_layouts_wide>
+            <header>Wide</header>
+            <subheader>Blue 4</subheader>
+            <bodytext><![CDATA[<p>Backend-Layout</p>
+<ul>
+	<li>Wide - Blue 4</li>
+</ul>
+<p>Width <strong>wide</strong>:</p>
+<ul>
+	<li>Header: wide</li>
+	<li>Content: wide</li>
+	<li>Footer: wide</li>
+</ul>]]></bodytext>
+            <CType>text</CType>
+            <sorting>
+              <_typoScriptNodeValue>TEXT</_typoScriptNodeValue>
+              <value>128 * 1</value>
+              <prioriCalc>1</prioriCalc>
+            </sorting>
+          </pagetree_layouts_wide>
+        </records>
+      </root_Pagetree_Layouts_Wide>
+    </root_Pagetree_Layouts>
     <root_Pagetree_Themes>
       <records>
         <header_Pagetree_Themes>
diff --git a/ext_emconf.php b/ext_emconf.php
index 38fa151..fbd8c69 100644
--- a/ext_emconf.php
+++ b/ext_emconf.php
@@ -5,9 +5,9 @@ $EM_CONF['launchstart'] = [
   'description'  => 'Launches a ready-to-use responsive website. Gridelements enable nested layouts. Based on Start TYPO3 Responsive and the Foundation framework. ',
   'category'     => 'distribution',
   'state'        => 'stable',
-  'author'       => 'Dirk Wildt (Die Netzmacher)',
+  'author'       => 'Dirk Wildt (Die Netzmacher, verdigado eG), Falko Trojahn (verdigado eG)',
   'author_email' => 'http://wildt.at.die-netzmacher.de',
-  'version'      => '10.0.0',
+  'version'      => '10.0.1',
   'constraints'  => [
     'depends'   => [
       'gridelements' => '10.4.0-10.4.99',
-- 
GitLab