diff -u b/core/modules/menu_link_content/src/Plugin/migrate/source/d6/MenuLinkTranslation.php b/core/modules/menu_link_content/src/Plugin/migrate/source/d6/MenuLinkTranslation.php --- b/core/modules/menu_link_content/src/Plugin/migrate/source/d6/MenuLinkTranslation.php +++ b/core/modules/menu_link_content/src/Plugin/migrate/source/d6/MenuLinkTranslation.php @@ -4,7 +4,7 @@ use Drupal\Component\Utility\Unicode; use Drupal\migrate\Row; -use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase; +use Drupal\menu_link_content\Plugin\migrate\source\MenuLink; /** * Gets Menu link translations from source database. @@ -14,7 +14,7 @@ * source_module = "i18nstrings" * ) */ -class MenuLinkTranslation extends DrupalSqlBase { +class MenuLinkTranslation extends MenuLink { /** * {@inheritdoc} @@ -29,22 +29,7 @@ // method prepareRow() is then used to obtain the translation for the other // property. // The query starts with the same query as menu_link. - $query = $this->select('menu_links', 'ml') - ->fields('ml'); - $and = $query->andConditionGroup() - ->condition('ml.module', 'menu') - ->condition('ml.router_path', [ - 'admin/build/menu-customize/%', - 'admin/structure/menu/manage/%', - ], 'NOT IN'); - $condition = $query->orConditionGroup() - ->condition('ml.customized', 1) - ->condition($and); - $query->condition($condition); - $query->leftJoin('menu_links', 'pl', 'ml.plid = pl.mlid'); - $query->addField('pl', 'link_path', 'parent_link_path'); - $query->orderBy('ml.depth'); - $query->orderby('ml.mlid'); + $query = parent::query(); // Add in the property, which is either title or description. $query->leftJoin('i18n_strings', 'i18n', 'ml.mlid = i18n.objectid'); @@ -94,22 +79,20 @@ * {@inheritdoc} */ public function fields() { - return [ - 'mlid' => t('The menu link ID.'), + $fields = [ 'language' => $this->t('Language for this menu.'), 'title' => $this->t('Menu link title translation.'), 'description' => $this->t('Menu link description translation.'), ]; + return parent::fields() + $fields; } /** * {@inheritdoc} */ public function getIds() { - $ids['mlid']['type'] = 'integer'; - $ids['mlid']['alias'] = 'ml'; $ids['language']['type'] = 'string'; - return $ids; + return parent::getIds() + $ids; } } diff -u b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6Test.php b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6Test.php --- b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6Test.php +++ b/core/modules/migrate_drupal_ui/tests/src/Functional/d6/MigrateUpgrade6Test.php @@ -85,7 +85,7 @@ 'tour' => 4, 'user' => 7, 'user_role' => 6, - 'menu_link_content' => 5, + 'menu_link_content' => 6, 'view' => 16, 'date_format' => 11, 'entity_form_display' => 29, @@ -106,7 +106,7 @@ $counts['entity_view_display'] = 53; $counts['entity_view_mode'] = 14; $counts['file'] = 9; - $counts['menu_link_content'] = 6; + $counts['menu_link_content'] = 7; $counts['node'] = 18; $counts['taxonomy_term'] = 9; $counts['user'] = 8;