getNestedProperty($name, null, $separator); // Handle media order field. if (null === $value && $name === 'media_order') { return implode(',', $this->getMediaOrder()); } // Handle media fields. $settings = $this->getFieldSettings($name); if (($settings['media_field'] ?? false) === true) { return $this->parseFileProperty($value, $settings); } return $value ?? $default; } /** * {@inheritdoc} * @see FlexObjectInterface::prepareStorage() */ public function prepareStorage(): array { // Remove extra content from media fields. $fields = $this->getMediaFields(); foreach ($fields as $field) { $data = $this->getNestedProperty($field); if (is_array($data)) { foreach ($data as $name => &$image) { unset($image['image_url'], $image['thumb_url']); } unset($image); $this->setNestedProperty($field, $data); } } return parent::prepareStorage(); } }