Project

General

Profile

Bug #89192

Updated by Sebastian Michaelsen about 5 years ago

Consider the following Backend Layout: 

 <pre><code class="text"> 
 mod.web_layout.BackendLayouts.infoPage { 
   title = Info Page 
   config.backend_layout { 
     colCount = 1 
     rowCount = 1 
     rows { 
       1.columns.1 { 
         name = Content Area 
         colPos = 0 
         allowed.CType ( 
           gridelements_pi1, 
           list, 
           shortcut, 
           text, 
         ) 
       } 
     } 
   } 
 } 

 </code></pre> 

 The multi-line value for allowed.CType is perfectly valid and correctly parsed by TYPO3. However @\TYPO3\CMS\Backend\Provider\PageTsBackendLayoutDataProvider->generateBackendLayoutFromTsConfig@ tries to reconstruct the original TSconfig from the parsed array and assumes all values are one-line values with @=@ syntax. 

 The reconstructed TSconfig then looks like this (in Xdebug) 

 <pre><code class="text"> 
 backend_layout.colCount = 1 
 backend_layout.rowCount = 1 
 backend_layout.rows.1.columns.1.name = Content Area 
 backend_layout.rows.1.columns.1.colPos = 0 
 backend_layout.rows.1.columns.1.allowed.CType =             gridelements_pi1, 
           list, 
           shortcut, 
           text 
 </code></pre> 

 Resulting in only @gridelements_pi1@ to be allowed. 

 A possible solution could be to strip all line breaks while reconstructing the TSconfig. 

 Workaround: Do not use the multi-line value syntax in Backend Layouts. 

 This affects at least TYPO3 8 to 10.

Back