DynamicEntityReferenceItemNormalizer.php in Dynamic Entity Reference 8.2
File
src/Normalizer/DynamicEntityReferenceItemNormalizer.php
View source
<?php
namespace Drupal\dynamic_entity_reference\Normalizer;
use Drupal\dynamic_entity_reference\Plugin\Field\FieldType\DynamicEntityReferenceItem;
use Drupal\hal\Normalizer\EntityReferenceItemNormalizer;
class DynamicEntityReferenceItemNormalizer extends EntityReferenceItemNormalizer {
protected $supportedInterfaceOrClass = DynamicEntityReferenceItem::class;
public function normalize($field_item, $format = NULL, array $context = []) {
$normalized = parent::normalize($field_item, $format, $context);
$normalized['target_type'] = $field_item->target_type;
return $normalized;
}
protected function constructValue($data, $context) {
if ($id = $this->entityResolver
->resolve($this, $data, $data['target_type'])) {
return [
'target_type' => $data['target_type'],
'target_id' => $id,
];
}
return NULL;
}
}