Skip to content

Commit

Permalink
feat: add dataProcessing to FlexFormProcessor
Browse files Browse the repository at this point in the history
  • Loading branch information
dvdmlln committed Oct 2, 2024
1 parent 64375d8 commit ff9b950
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion Classes/DataProcessing/FlexFormProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
use TYPO3\CMS\Core\Utility\ArrayUtility;
use TYPO3\CMS\Core\Utility\Exception\MissingArrayPathException;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Frontend\ContentObject\ContentDataProcessor;
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
use TYPO3\CMS\Frontend\ContentObject\DataProcessorInterface;

Expand All @@ -22,6 +23,13 @@ class FlexFormProcessor implements DataProcessorInterface
*/
protected array $processorConf;

protected ?ContentDataProcessor $contentDataProcessor = null;

public function __construct()
{
$this->contentDataProcessor = GeneralUtility::makeInstance(ContentDataProcessor::class);
}

/**
* @phpcsSuppress SlevomatCodingStandard.Functions.UnusedParameter
* @param mixed[] $contentObjectConf
Expand All @@ -34,7 +42,8 @@ public function process(
array $contentObjectConf,
array $processorConf,
array $processedData
): array { $this->cObj = $cObj;
): array {
$this->cObj = $cObj;
$this->processorConf = $processorConf;

$flexFormTools = GeneralUtility::makeInstance(FlexFormTools::class);
Expand Down Expand Up @@ -92,6 +101,12 @@ public function process(
$flexformData = ArrayUtility::removeByPath($flexformData, $ignoredField, '.');
}

$overrideData = [];
$overrideData = $this->contentDataProcessor?->process($cObj, $processorConf, $overrideData) ?? [];
foreach ($overrideData as $key => &$value) {
$flexformData = ArrayUtility::setValueByPath($flexformData, $key, $value, '.');
}

// save result in "data" (default) or given variable name
$targetVariableName = $cObj->stdWrapValue('as', $processorConf);

Expand Down

0 comments on commit ff9b950

Please sign in to comment.