Index: t3lib/class.t3lib_tceforms.php =================================================================== --- t3lib/class.t3lib_tceforms.php (révision 8745) +++ t3lib/class.t3lib_tceforms.php (copie de travail) @@ -2542,6 +2542,11 @@ $PA['_lang'] = $lang; $PA['_cshFile'] = ((isset($dataStruct['ROOT']['TCEforms']) && isset($dataStruct['ROOT']['TCEforms']['cshFile'])) ? $dataStruct['ROOT']['TCEforms']['cshFile'] : ''); + // Push the sheet level tab to DynNestedStack + if (is_array($dataStructArray['sheets'])) { + $tabIdentString = $GLOBALS['TBE_TEMPLATE']->getDynTabMenuId('TCEFORMS:flexform:' . $PA['itemFormElName'] . $PA['_lang']); + $this->pushToDynNestedStack('tab', $tabIdentString . '-' . (count($tabParts)+1)); + } // Render flexform: $tRows = $this->getSingleField_typeFlex_draw( $dataStruct['ROOT']['el'], @@ -2557,6 +2562,11 @@ # $item = '
'.$item.'
'; //visibility:hidden; + + // Pop the sheet level tab from DynNestedStack + if (is_array($dataStructArray['sheets'])) { + $this->popFromDynNestedStack('tab', $tabIdentString . '-' . (count($tabParts)+1)); + } } else $sheetContent='Data Structure ERROR: No ROOT element found for sheet "'.$sheet.'".'; // Add to tab: @@ -2797,6 +2807,9 @@ $s = t3lib_div::revExplode('[]',$formPrefix,2); $actionFieldName = '_ACTION_FLEX_FORM'.$PA['itemFormElName'].$s[0].'][_ACTION]['.$s[1]; + // Push the container to DynNestedStack as it may be toggled + $this->pushToDynNestedStack('flex' , $idTagPrefix); + // Putting together the container: $this->additionalJS_delete = array(); $output.= ' @@ -2821,6 +2834,9 @@ '; $output = str_replace('/*###REMOVE###*/', t3lib_div::slashJS(htmlspecialchars(implode('', $this->additionalJS_delete))), $output); // NOTICE: We are saving the toggle-state directly in the flexForm XML and "unauthorized" according to the data structure. It means that flexform XML will report unclean and a cleaning operation will remove the recorded togglestates. This is not a fatal problem. Ideally we should save the toggle states in meta-data but it is much harder to do that. And this implementation was easy to make and with no really harmful impact. + + // Pop the container from DynNestedStack + $this->popFromDynNestedStack('flex' , $idTagPrefix); } // If it's a "single form element": Index: typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js =================================================================== --- typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (révision 8746) +++ typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js (copie de travail) @@ -2794,10 +2794,16 @@ for (i=0, max=nested.length; i