From 4440d95b4a2c634cd7e5aff83d189d8891dff981 Mon Sep 17 00:00:00 2001 From: webchick Date: Tue, 6 May 2014 11:49:41 -0700 Subject: [PATCH] Issue #2257229 by marcingy | alasda: Cannot add external url or as menu item. --- .../lib/Drupal/menu_link/Entity/MenuLink.php | 2 +- .../menu_ui/lib/Drupal/menu_ui/Tests/MenuTest.php | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/core/modules/menu_link/lib/Drupal/menu_link/Entity/MenuLink.php b/core/modules/menu_link/lib/Drupal/menu_link/Entity/MenuLink.php index d6d4436848b..a59dd51789b 100644 --- a/core/modules/menu_link/lib/Drupal/menu_link/Entity/MenuLink.php +++ b/core/modules/menu_link/lib/Drupal/menu_link/Entity/MenuLink.php @@ -524,7 +524,7 @@ class MenuLink extends Entity implements \ArrayAccess, MenuLinkInterface { } // Find the route_name. - if (!isset($this->route_name)) { + if (!$this->external && !isset($this->route_name)) { $url = Url::createFromPath($this->link_path); $this->route_name = $url->getRouteName(); $this->route_parameters = $url->getRouteParameters(); diff --git a/core/modules/menu_ui/lib/Drupal/menu_ui/Tests/MenuTest.php b/core/modules/menu_ui/lib/Drupal/menu_ui/Tests/MenuTest.php index ed64c134a66..078e26a91a5 100644 --- a/core/modules/menu_ui/lib/Drupal/menu_ui/Tests/MenuTest.php +++ b/core/modules/menu_ui/lib/Drupal/menu_ui/Tests/MenuTest.php @@ -395,6 +395,19 @@ class MenuTest extends MenuWebTestBase { // Verify in the database. $this->assertMenuLink($item1['mlid'], array('hidden' => 0)); + // Add an external link. + $item7 = $this->addMenuLink(0, 'http://drupal.org', $menu_name); + $this->assertMenuLink($item7['mlid'], array('link_path' => 'http://drupal.org', 'external' => 1)); + + // Add menu item. + $item8 = $this->addMenuLink(0, '', $menu_name); + $this->assertMenuLink($item8['mlid'], array('link_path' => '', 'external' => 1)); + $this->drupalGet(''); + $this->assertResponse(200); + // Make sure we get routed correctly. + $this->clickLink($item8['link_title']); + $this->assertResponse(200); + // Save menu links for later tests. $this->items[] = $item1; $this->items[] = $item2;