Pimcore\Model\Object\ClassDefinition\Data\Localizedfields::unmarshal PHP Method

unmarshal() public method

See marshal
public unmarshal ( mixed $value, AbstractObject $object = null, mixed $params = [] ) : mixed
$value mixed
$object Pimcore\Model\Object\AbstractObject
$params mixed
return mixed
    public function unmarshal($value, $object = null, $params = [])
    {
        $lf = new Object\Localizedfield();
        if (is_array($value)) {
            $items = [];
            foreach ($value 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;
                    }
                    $dataFromResource = $fd->unmarshal($elementData, $object, ["raw" => true]);
                    $languageResult[$elementName] = $dataFromResource;
                }
                $items[$language] = $languageResult;
            }
            $lf->setItems($items);
        }
        return $lf;
    }