diff --git a/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php b/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php index 4310fb944bfc7cdcd8db558d1858fd92a8f31976..3c92345ba1fd749ae480a6507f79cdf7d74396ba 100644 --- a/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php +++ b/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php @@ -169,7 +169,7 @@ public static function mainPropertyName() { * {@inheritdoc} */ public function getUrl() { - return Url::fromUri($this->uri); + return Url::fromUri($this->uri, $this->options); } /** diff --git a/core/modules/link/tests/src/Kernel/LinkItemTest.php b/core/modules/link/tests/src/Kernel/LinkItemTest.php index 617c0256400c6fa9f501c62be3fd28df60f4a24d..6473efbf100161aaa68debfd3a55e4234d8dc1e8 100644 --- a/core/modules/link/tests/src/Kernel/LinkItemTest.php +++ b/core/modules/link/tests/src/Kernel/LinkItemTest.php @@ -78,6 +78,13 @@ public function testLinkItem() { $entity->field_test->title = $title; $entity->field_test->first()->get('options')->set('query', $parsed_url['query']); $entity->field_test->first()->get('options')->set('attributes', array('class' => $class)); + $this->assertEquals([ + 'query' => $parsed_url['query'], + 'attributes' => [ + 'class' => $class, + ], + 'external' => TRUE, + ], $entity->field_test->first()->getUrl()->getOptions()); $entity->name->value = $this->randomMachineName(); $entity->save();