Issue #2231413 by blueminds, tim.plunkett: Link field does not accept a valid path alias.
parent
6f0f10b2aa
commit
1efd2ad05f
|
@ -207,6 +207,12 @@ class LinkWidget extends WidgetBase {
|
|||
try {
|
||||
$parsed_url = UrlHelper::parse($value['url']);
|
||||
|
||||
// If internal links are supported, look up whether the given value is
|
||||
// a path alias and store the system path instead.
|
||||
if ($this->supportsInternalLinks() && !UrlHelper::isExternal($value['url'])) {
|
||||
$parsed_url['path'] = \Drupal::service('path.alias_manager.cached')->getSystemPath($parsed_url['path']);
|
||||
}
|
||||
|
||||
$url = Url::createFromPath($parsed_url['path']);
|
||||
$url->setOption('query', $parsed_url['query']);
|
||||
$url->setOption('fragment', $parsed_url['fragment']);
|
||||
|
|
|
@ -103,12 +103,15 @@ class LinkFieldTest extends WebTestBase {
|
|||
$this->assertFieldByName("{$field_name}[0][url]", '', 'Link URL field is displayed');
|
||||
$this->assertRaw('placeholder="http://example.com"');
|
||||
|
||||
// Create a path alias.
|
||||
\Drupal::service('path.alias_storage')->save('admin', 'a/path/alias');
|
||||
// Define some valid URLs.
|
||||
$valid_external_entries = array(
|
||||
'http://www.example.com/',
|
||||
);
|
||||
$valid_internal_entries = array(
|
||||
'entity_test/add',
|
||||
'a/path/alias',
|
||||
);
|
||||
|
||||
// Define some invalid URLs.
|
||||
|
|
Loading…
Reference in New Issue