node_translation_menu_links.yml
Same filename in other branches
File
-
core/
modules/ content_translation/ migrations/ node_translation_menu_links.yml
View source
- id: node_translation_menu_links
- label: Node Translations Menu links
- audit: true
- migration_tags:
- - Drupal 6
- - Drupal 7
- - Content
- - Multilingual
- source:
- plugin: menu_link
- constants:
- entity_prefix: 'entity:'
- node_prefix: 'node/'
- process:
- id: mlid
- title: link_title
- description: description
- menu_name:
- -
- plugin: migration_lookup
- # The menu migration is in the system module.
- migration:
- - d6_menu
- - d7_menu
- source: menu_name
- -
- plugin: skip_on_empty
- method: row
- -
- plugin: static_map
- map:
- management: admin
- bypass: true
- # In this process pipeline, given a menu link path that might be for a
- # translated node which has been merged with the default language node, we are
- # trying to determine the new node ID, that is the ID of the default language
- # node.
- new_nid:
- -
- # If the path is of the form "node/<ID>" and is not routed, we will get
- # back a URI of the form "base:node/<ID>".
- plugin: link_uri
- source: link_path
- validate_route: false
- -
- # Isolate the node ID.
- plugin: explode
- delimiter: 'base:node/'
- -
- # Extract the node ID.
- plugin: extract
- default: false
- index:
- - 1
- -
- # Skip row if node ID is empty.
- plugin: skip_on_empty
- method: row
- -
- # With the old node ID in hand, lookup in the d6_node_translation or
- # d7_node_translation mapping tables to find the new node ID.
- plugin: migration_lookup
- migration:
- - d6_node_complete
- - d7_node_complete
- - d6_node_translation
- - d7_node_translation
- no_stub: true
- -
- # Skip row if the new node ID is empty.
- plugin: skip_on_empty
- method: row
- -
- # Extract the node ID. The migration lookup will return an array with two
- # items, the new node ID and the translation langcode. We need the node ID
- # which is at index 0.
- plugin: extract
- index:
- - 0
- # This will be used in the "link/uri" and "route" processes below.
- link_path:
- plugin: concat
- source:
- - 'constants/node_prefix'
- - '@new_nid'
- link/uri:
- plugin: concat
- source:
- - 'constants/entity_prefix'
- - '@link_path'
- link/options: options
- route:
- plugin: route
- source:
- - '@link_path'
- - options
- route_name: '@route/route_name'
- route_parameters: '@route/route_parameters'
- url: '@route/url'
- options: '@route/options'
- external: external
- weight: weight
- expanded: expanded
- enabled: enabled
- parent:
- plugin: menu_link_parent
- source:
- - plid
- - '@menu_name'
- - parent_link_path
- changed: updated
- destination:
- plugin: entity:menu_link_content
- default_bundle: menu_link_content
- no_stub: true
- migration_dependencies:
- required:
- - language
- optional:
- - d6_menu
- - d6_menu_links
- - d6_node_translation
- - d7_menu
- - d7_menu_links
- - d7_node_translation
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.