migrate_google_sheets-8.x-1.0/migrate_google_sheets_example/config/install/migrate_plus.migration.menu_links.yml

migrate_google_sheets_example/config/install/migrate_plus.migration.menu_links.yml
# This migration demonstrates importing from a Google Spreadsheet XML feed.
id: menu_links
label: Games Site menu links with Google Spreadsheet
migration_group: games_example
source:
  plugin: url
  data_fetcher_plugin: http
  data_parser_plugin: google_sheets
  # The feed file for the spreadsheet. The Google Spreadsheet should be either “Public” or set to “Anyone with link can
  # view” in order for the feed to work.
  # Template: 'https://sheets.googleapis.com/v4/spreadsheets/<SHEET>/values/<TAB>?key=<KEY>'
  urls: 'https://sheets.googleapis.com/v4/spreadsheets/1spS1BeUIzxR1KrGK2kKzAoiFZii6vBHyLx_SA0Sb89M/values/Menu%20Links?key=<KEY>'
  # Under 'fields', we list the data items to be imported. The first level keys
  # are the source field names we want to populate (the names to be used as
  # sources in the process configuration below). For each field we're importing,
  # we provide a label (optional - this is for display in migration tools) and
  # an selector (xpath) for retrieving that value. It's important to note that this xpath
  # is relative to the elements retrieved by item_selector.
  # For Google Spreadsheet XML feeds the actual columns are named with gsx: followed by the cleaned column name (lower,
  # limited punctuation, etc).
  fields:
    -
      name: id
      label: 'Unique identifier'
      selector: 'id'
    -
      name: title
      label: 'Title'
      selector: 'title'
    -
      name: path
      label: 'Path'
      selector: 'path'
    -
      name: menu_name
      label: 'Menu Name'
      selector: 'menuname'
    -
      name: external
      label: 'Is external?'
      selector: 'external'
    -
      name: weight
      label: 'Weight'
      selector: 'weight'
    -
      name: expanded
      label: 'Expanded'
      selector: 'expanded'
    -
      name: parentid
      label: "Parent Id"
      selector: 'parentid'
  # Under 'ids', we identify source fields populated above which will uniquely
  # identify each imported item. The 'type' makes sure the migration map table
  # uses the proper schema type for stored the IDs.
  ids:
    id:
      type: integer
# This is the mapping of the source values to the destination.
process:
  id: id
  title: title
  description: title
  menu_name: menu_name
  link/uri:
    plugin: link_uri
    source: path
  link/options:
    plugin: default_value
    default_value: {  }
  link/title: title
  route:
    plugin: route
    source:
      - path
      - '@link/options'
  route_name: '@route/route_name'
  route_parameters: '@route/route_parameters'
  url: '@route/url'
  options: '@route/options'
  external: external
  weight: weight
  expanded: expanded
  parent:
    plugin: menu_link_parent
    source:
      - parentid
      - '@menu_name'
      - parent_link_path
destination:
  plugin: 'entity:menu_link_content'
  default_bundle: menu_link_content
  no_stub: true
migration_dependencies:
  required:
    - upgrade_menu
  optional: {  }

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc