Skip to content

Commit

Permalink
TASK - adjust lazy data processor behaviour
Browse files Browse the repository at this point in the history
  • Loading branch information
aus-DominikHalle committed Oct 2, 2024
1 parent 6e4c911 commit efa008a
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions Classes/DataProcessing/LazyDataProcessor.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,20 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu
$variables .= ',' . $cObj->stdWrapValue('as', $processorConfiguration['proxiedProcessor.'] ?? [], ''); // invert variable name to proxy

foreach (GeneralUtility::trimExplode(',', $variables, true) as $variableName) {
$processedData[$variableName] = new Proxy(function () use ($cObj, $processedData, $processorConfiguration, &$realProcessedData, $variableName) {
if ($realProcessedData === 'LazyDataProcessor $realProcessedData') {
$configuration = ['dataProcessing.' => [
'10' => $processorConfiguration['proxiedProcessor'],
'10.' => $processorConfiguration['proxiedProcessor.'],
]];
$realProcessedData = $this->contentDataProcessor->process($cObj, $configuration, $processedData);
}
return $realProcessedData[$variableName] ?? null;
});
// don't overwrite existing variables with proxies
// your data processor should be implemented in a way that it doesn't overwrite existing variables
if (!array_key_exists($variableName, $processedData)) {
$processedData[$variableName] = new Proxy(function () use ($cObj, $processedData, $processorConfiguration, &$realProcessedData, $variableName) {
if ($realProcessedData === 'LazyDataProcessor $realProcessedData') {
$configuration = ['dataProcessing.' => [
'10' => $processorConfiguration['proxiedProcessor'],
'10.' => $processorConfiguration['proxiedProcessor.'],
]];
$realProcessedData = $this->contentDataProcessor->process($cObj, $configuration, $processedData);
}
return $realProcessedData[$variableName] ?? null;
});
}
}
return $processedData;
}
Expand Down

0 comments on commit efa008a

Please sign in to comment.