diff --git a/core/lib/Drupal/Core/Entity/Entity.php b/core/lib/Drupal/Core/Entity/Entity.php index 683ef53..38697a1 100644 --- a/core/lib/Drupal/Core/Entity/Entity.php +++ b/core/lib/Drupal/Core/Entity/Entity.php @@ -198,9 +198,6 @@ public function uri($rel = 'canonical') { return $uri; } - // Only use these defaults for a canonical link (that is, a link to self). - // Other relationship types are not supported by this logic. - if ($rel == 'canonical') { $bundle = $this->bundle(); // A bundle-specific callback takes precedence over the generic one for // the entity type. @@ -217,18 +214,23 @@ public function uri($rel = 'canonical') { if (isset($uri_callback) && function_exists($uri_callback)) { $uri = $uri_callback($this); } - else { + // Only use these defaults for a canonical link (that is, a link to self). + // Other relationship types are not supported by this logic. + elseif ($rel == 'canonical') { $uri = array( 'path' => 'entity/' . $this->entityType . '/' . $this->id(), ); } + else { + return array(); + } + // Pass the entity data to url() so that alter functions do not need to // look up this entity again. $uri['options']['entity_type'] = $this->entityType; $uri['options']['entity'] = $this; return $uri; } - } /** * Returns an array of placeholders for this entity.