Commit ba5aa0ba authored by Adam Bramley's avatar Adam Bramley
Browse files

Issue #3248329 by acbramley: Fragments are stripped from links to content

parent d886ef18
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -98,7 +98,8 @@ class LinkyEntityUtility implements LinkyEntityUtilityInterface {
          $entityTypeId = $this->entityRouteContextRouteHelper->getAllRouteNames()[$routeName] ?? NULL;
          $entityId = $url->getRouteParameters()[$entityTypeId] ?? NULL;
          if ($entityTypeId && $entityId) {
            $href = sprintf('entity:%s/%s', $entityTypeId, $entityId);
            $fragment = $url->getOption('fragment') ? sprintf('#%s', $url->getOption('fragment')) : NULL;
            $href = sprintf('entity:%s/%s%s', $entityTypeId, $entityId, $fragment);
          }
          else {
            $href = 'internal:' . $url->toString();
+4 −3
Original line number Diff line number Diff line
@@ -287,17 +287,18 @@ class LinkyReplacerTest extends KernelTestBase {
    ])->save();

    $entity2 = EntityTest::create();
    $entity2->testfield->value = '<a href="' . $alias . '">Link 1</a>';
    $entity2->testfield->value = '<a href="' . $alias . '">Link 1</a><a href="' . $alias . '#foo">Link 2</a>';
    $entity2->save();

    $this->assertCount(0, Linky::loadMultiple());

    $this->setSupportsInternal();
    $entity2->save();
    $this->assertEquals('<a href="/admin/content/linky/1">Link 1</a>', $entity2->testfield->value);
    $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(1, $linkys);
    $this->assertCount(2, $linkys);
    $this->assertEquals('entity:entity_test/1', $linkys[1]->link->uri);
    $this->assertEquals('entity:entity_test/1#foo', $linkys[2]->link->uri);
  }

  /**