public function marshal($value, $object = null, $params = [])
{
if ($value instanceof Object\Localizedfield) {
$items = $value->getItems();
if (is_array($items)) {
$result = [];
foreach ($items as $language => $languageData) {
$languageResult = [];
foreach ($languageData as $elementName => $elementData) {
$fd = $this->getFielddefinition($elementName);
if (!$fd) {
// class definition seems to have changed
Logger::warn("class definition seems to have changed, element name: " . $elementName);
continue;
}
$dataForResource = $fd->marshal($elementData, $object, ["raw" => true]);
$languageResult[$elementName] = $dataForResource;
}
$result[$language] = $languageResult;
}
return $result;
}
}
return null;
}