Project

General

Profile

Bug #104851

Updated by Aristeidis Karavas about 2 months ago

i wanted to try TYPO3 13.2.1 and test some TsConfig options.  

 *Case*: Case: 
 I have 2 languages defined. It doesnt matter what the translation behavior is, the error appears on all 3 modes. Using either of those 2 settings, produces the error. 

 <pre> 
 mod.web_layout { 
   localization { 
      enableCopy = 0 
      enableTranslate = 0 
   } 
 } 
 </pre> 

 The error that appears (503): 

 > Core: Exception handler (WEB): Uncaught TYPO3 Exception: Cannot assign string to property TYPO3\CMS\Backend\View\Drawing\DrawingConfiguration::$allowTranslateModeForTranslations of type bool | TypeError thrown in file /myPath/vendor/typo3/cms-backend/Classes/View/Drawing/DrawingConfiguration.php in line 99. Requested URL: https://example.com/typo3/module/web/layout?token=--AnonymizedToken--&id=1 

 Solution: 
 Theoritically: 

 Here https://github.com/TYPO3/typo3/blob/main/typo3/sysext/backend/Classes/View/Drawing/DrawingConfiguration.php#L73 the @allowTranslateModeForTranslations@ variable has been set to bool, but the https://github.com/TYPO3/typo3/blob/main/typo3/sysext/backend/Classes/View/Drawing/DrawingConfiguration.php#L99C123-L100C69 return a string with the value @0@. The same happens with the @allowCopyModeForTranslations@ variable 

  

 Maybe typecast the array value 

 <pre><code class="php"> 
 $obj->allowTranslateModeForTranslations = (bool)$pageTsConfig['mod.']['web_layout.']['localization.']['enableTranslate'] (int)$pageTsConfig['mod.']['web_layout.']['localization.']['enableTranslate'] ?? true; 
 $obj->allowCopyModeForTranslations = (bool)$pageTsConfig['mod.']['web_layout.']['localization.']['enableCopy'] ?? true; 
 </code></pre> 

 but i don't know if adding a normal string as value via tsconfig will cause a problem for not properly typecasting. Something like that: 

 <pre> 
 mod.web_layout { 
     localization { 
         enableCopy enableTranslate = a string value 
         enableTranslate = some other string value 
     } 
 } 
 </pre> 

Back