diff --git a/src/MenuLinkNormalizer.php b/src/MenuLinkNormalizer.php index 6a44a10..36f5a44 100644 --- a/src/MenuLinkNormalizer.php +++ b/src/MenuLinkNormalizer.php @@ -33,7 +33,7 @@ class MenuLinkNormalizer extends ContentEntityNormalizer { */ public function normalize($entity, $format = NULL, array $context = array()) { $normalized = parent::normalize($entity, $format, $context); - if (is_array($normalized['link'])) { + if (isset($normalized['link']) && is_array($normalized['link'])) { foreach($normalized['link'] as $key => $link) { $node_id = $this->getNidFromUri($link['uri']); if ($node_id) { @@ -49,22 +49,13 @@ class MenuLinkNormalizer extends ContentEntityNormalizer { * {@inheritdoc} */ public function denormalize($data, $class, $format = NULL, array $context = array()) { - if (is_array($data['link'])) { + if (isset($data['link']) && is_array($data['link'])) { foreach($data['link'] as $key => $link) { - if (!isset($link['_uuid'])) { - continue; - } - - $node = $this->entityManager->loadEntityByUuid( - 'node', - $link['_uuid'] - ); $node_id = $this->getNidFromUri($link['uri']); - $data['link'][$key]['uri'] = str_replace( - $node_id, - $node->id(), - $link['uri'] - ); + if ($node_id && isset($link['_uuid'])) { + $node = $this->entityManager->loadEntityByUuid('node', $link['_uuid']); + $data['link'][$key]['uri'] = str_replace($node_id, $node->id(), $link['uri']); + } } } $entity = parent::denormalize($data, $class, $format, $context);