Skip to content

Commit

Permalink
Cleanup flexform cleanup is optional now
Browse files Browse the repository at this point in the history
  • Loading branch information
hannesbochmann committed Nov 29, 2023
1 parent fa21909 commit 1fb3320
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@ protected function configure()
'nl',
InputOption::VALUE_REQUIRED,
'The new list type for the given switchableControllerActions.'
)->addOption(
'cleanup-flexform',
'cl',
InputOption::VALUE_OPTIONAL,
'Should the flexform be cleaned up so only values from the configured flexform are kept? This doesn\'t take flexform extensions into consideration. So if you extend the flexform of e.g. calendarize you shouldn\'t cleanup the flexform'
);
}

Expand Down Expand Up @@ -104,7 +109,9 @@ protected function migratePlugins(InputInterface $input, OutputInterface $output
foreach ($contentElements as $contentElement) {
$flexFormData = GeneralUtility::xml2array($contentElement['pi_flexform']);
$newListType = $input->getOption('new-list-type');
$flexFormData = $this->removeFlexFormSettingsNotForListType($flexFormData, $newListType);
if ($input->getOption('cleanup-flexform')) {
$flexFormData = $this->removeFlexFormSettingsNotForListType($flexFormData, $newListType);
}

if (count($flexFormData['data']) > 0) {
$newFlexform = $this->array2xml($flexFormData);
Expand Down
7 changes: 5 additions & 2 deletions Documentation/Utilities/Extbase/Index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,11 @@ auch direkt etwaige Berechtigungen in BE Gruppen migiriert.
Command für die Migration:

~~~~ {.sourceCode .sh
bin/typo3 mktools:migrate-switchable-controller-actions --actions="News->detail;News->list" --list-type=news_list --new-list-type=news_list_detail
bin/typo3 mktools:migrate-switchable-controller-actions --cleanup-flexform=1 --actions="News->detail;News->list" --list-type=news_list --new-list-type=news_list_detail
~~~~

actions sollte genau der Wert sein, der bisher im Flexform/TypoScript gewählt wurde und
für den ein neues dediziertes Plugin angelegt wurde.
für den ein neues dediziertes Plugin angelegt wurde. Das Command entfernt aus dem Flexform
in den Plugins alle Werte, die im aktuellen Flexform nicht mehr enthalten sind. Wenn
das Flexform durch den Event flexform-modify-data-structure erweitert wird, wird das an
dieser Stelle nicht berücksichtigt. In diesem Fall sollte auf die Bereinigung verzichtet werden.

0 comments on commit 1fb3320

Please sign in to comment.