Loading src/LinkyEntityUtility.php +2 −1 Original line number Diff line number Diff line Loading @@ -98,8 +98,9 @@ class LinkyEntityUtility implements LinkyEntityUtilityInterface { $entityTypeId = $this->entityRouteContextRouteHelper->getAllRouteNames()[$routeName] ?? NULL; $entityId = $url->getRouteParameters()[$entityTypeId] ?? NULL; if ($entityTypeId && $entityId) { $query = $url->getOption('query') ? sprintf('?%s', http_build_query($url->getOption('query'))) : NULL; $fragment = $url->getOption('fragment') ? sprintf('#%s', $url->getOption('fragment')) : NULL; $href = sprintf('entity:%s/%s%s', $entityTypeId, $entityId, $fragment); $href = sprintf('entity:%s/%s%s%s', $entityTypeId, $entityId, $query, $fragment); } else { $href = 'internal:' . $url->toString(); Loading tests/src/Kernel/LinkyReplacerTest.php +12 −1 Original line number Diff line number Diff line Loading @@ -294,11 +294,22 @@ class LinkyReplacerTest extends KernelTestBase { $this->setSupportsInternal(); $entity2->save(); $entity3 = EntityTest::create(); $entity3->testfield->value = '<a href="' . $alias . '">Link 3</a><a href="' . $alias . '?language=fr">Link 3</a>'; $entity3->save(); $entity4 = EntityTest::create(); $entity4->testfield->value = '<a href="' . $alias . '">Link 4</a><a href="' . $alias . '?language=es#foo">Link 4</a>'; $entity4->save(); $this->assertEquals('<a href="/admin/content/linky/1">Link 1</a><a href="/admin/content/linky/2">Link 2</a>', $entity2->testfield->value); $linkys = Linky::loadMultiple(); $this->assertCount(2, $linkys); $this->assertCount(4, $linkys); $this->assertEquals('entity:entity_test/1', $linkys[1]->link->uri); $this->assertEquals('entity:entity_test/1#foo', $linkys[2]->link->uri); $this->assertEquals('entity:entity_test/1?language=fr', $linkys[3]->link->uri); $this->assertEquals('entity:entity_test/1?language=es#foo', $linkys[4]->link->uri); } /** Loading Loading
src/LinkyEntityUtility.php +2 −1 Original line number Diff line number Diff line Loading @@ -98,8 +98,9 @@ class LinkyEntityUtility implements LinkyEntityUtilityInterface { $entityTypeId = $this->entityRouteContextRouteHelper->getAllRouteNames()[$routeName] ?? NULL; $entityId = $url->getRouteParameters()[$entityTypeId] ?? NULL; if ($entityTypeId && $entityId) { $query = $url->getOption('query') ? sprintf('?%s', http_build_query($url->getOption('query'))) : NULL; $fragment = $url->getOption('fragment') ? sprintf('#%s', $url->getOption('fragment')) : NULL; $href = sprintf('entity:%s/%s%s', $entityTypeId, $entityId, $fragment); $href = sprintf('entity:%s/%s%s%s', $entityTypeId, $entityId, $query, $fragment); } else { $href = 'internal:' . $url->toString(); Loading
tests/src/Kernel/LinkyReplacerTest.php +12 −1 Original line number Diff line number Diff line Loading @@ -294,11 +294,22 @@ class LinkyReplacerTest extends KernelTestBase { $this->setSupportsInternal(); $entity2->save(); $entity3 = EntityTest::create(); $entity3->testfield->value = '<a href="' . $alias . '">Link 3</a><a href="' . $alias . '?language=fr">Link 3</a>'; $entity3->save(); $entity4 = EntityTest::create(); $entity4->testfield->value = '<a href="' . $alias . '">Link 4</a><a href="' . $alias . '?language=es#foo">Link 4</a>'; $entity4->save(); $this->assertEquals('<a href="/admin/content/linky/1">Link 1</a><a href="/admin/content/linky/2">Link 2</a>', $entity2->testfield->value); $linkys = Linky::loadMultiple(); $this->assertCount(2, $linkys); $this->assertCount(4, $linkys); $this->assertEquals('entity:entity_test/1', $linkys[1]->link->uri); $this->assertEquals('entity:entity_test/1#foo', $linkys[2]->link->uri); $this->assertEquals('entity:entity_test/1?language=fr', $linkys[3]->link->uri); $this->assertEquals('entity:entity_test/1?language=es#foo', $linkys[4]->link->uri); } /** Loading