/** * @param ProcessContentDataSignalArguments $signalArguments * @return array */ public function processRelations(ProcessContentDataSignalArguments $signalArguments) { $contentObject = $signalArguments->getContentObject(); $fieldNameAndPath = $signalArguments->getFieldNameAndPath(); $contentData = $signalArguments->getContentData(); $savingBehavior = $signalArguments->getSavingBehavior(); if ($savingBehavior !== SavingBehavior::REPLACE) { $contentData = $this->appendOrRemoveRelations($contentObject, $fieldNameAndPath, $contentData, $savingBehavior); $signalArguments->setContentData($contentData); } return array($signalArguments); }
/** * @param ProcessContentDataSignalArguments $signalArguments * @return array */ public function processMarkers(ProcessContentDataSignalArguments $signalArguments) { $contentData = $signalArguments->getContentData(); $creationTime = $this->getCreationTime($signalArguments); // Process markers foreach ($signalArguments->getContentData() as $fieldName => $updateValue) { if (is_scalar($updateValue)) { $currentValue = $this->getContentObjectResolver()->getValue($signalArguments->getContentObject(), $signalArguments->getFieldNameAndPath(), $fieldName, $signalArguments->getLanguage()); $counter = $signalArguments->getCounter(); $updateValue = $this->searchAndReplace($updateValue, $currentValue); $updateValue = $this->replaceWellKnownMarkers($updateValue, $currentValue, $counter, $creationTime); $contentData[$fieldName] = $updateValue; } } $signalArguments->setContentData($contentData); return array($signalArguments); }