X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fserialization%2Fsrc%2FNormalizer%2FContentEntityNormalizer.php;h=85635a92a20e5259d8be816701d914dea2d23f7e;hb=4f1b9b4ab48a8498afac9e2213a02a23ccf4a06c;hp=f1ca82d54972e7eb654cd40079942c6dc9da112f;hpb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;p=yaffs-website diff --git a/web/core/modules/serialization/src/Normalizer/ContentEntityNormalizer.php b/web/core/modules/serialization/src/Normalizer/ContentEntityNormalizer.php index f1ca82d54..85635a92a 100644 --- a/web/core/modules/serialization/src/Normalizer/ContentEntityNormalizer.php +++ b/web/core/modules/serialization/src/Normalizer/ContentEntityNormalizer.php @@ -2,6 +2,8 @@ namespace Drupal\serialization\Normalizer; +use Drupal\Core\TypedData\TypedDataInternalPropertiesHelper; + /** * Normalizes/denormalizes Drupal content entities into an array structure. */ @@ -15,15 +17,16 @@ class ContentEntityNormalizer extends EntityNormalizer { /** * {@inheritdoc} */ - public function normalize($object, $format = NULL, array $context = []) { + public function normalize($entity, $format = NULL, array $context = []) { $context += [ 'account' => NULL, ]; $attributes = []; - foreach ($object as $name => $field) { - if ($field->access('view', $context['account'])) { - $attributes[$name] = $this->serializer->normalize($field, $format, $context); + /** @var \Drupal\Core\Entity\Entity $entity */ + foreach (TypedDataInternalPropertiesHelper::getNonInternalProperties($entity->getTypedData()) as $name => $field_items) { + if ($field_items->access('view', $context['account'])) { + $attributes[$name] = $this->serializer->normalize($field_items, $format, $context); } }