--- /dev/null
+id: d6_block
+label: Blocks
+migration_tags:
+ - Drupal 6
+ - Configuration
+source:
+ plugin: block
+process:
+ # Block status is not a thing in Drupal 8, so this is how we skip over
+ # disabled blocks.
+ status:
+ plugin: skip_on_empty
+ method: row
+ source: status
+ id:
+ # We need something unique, so aggregator, aggregator_1 etc will do.
+ plugin: make_unique_entity_field
+
+ entity_type: block
+ field: id
+ postfix: _
+ length: 32
+ source: module
+ plugin:
+ -
+ plugin: static_map
+ bypass: true
+ source:
+ - module
+ - delta
+ map:
+ book:
+ 0: book_navigation
+ comment:
+ 0: views_block:comments_recent-block_1
+ forum:
+ 0: forum_active_block
+ 1: forum_new_block
+ locale:
+ 0: language_block
+ node:
+ 0: node_syndicate_block
+ search:
+ 0: search_form_block
+ statistics:
+ 0: statistics_popular_block
+ system:
+ 0: system_powered_by_block
+ user:
+ 0: user_login_block
+ 1: system_menu_block:tools
+ 2: views_block:who_s_new-block_1
+ 3: views_block:who_s_online-who_s_online_block
+ -
+ plugin: block_plugin_id
+ -
+ plugin: skip_on_empty
+ method: row
+ theme:
+ plugin: block_theme
+ source:
+ - theme
+ - default_theme
+ - admin_theme
+ region:
+ plugin: block_region
+ source:
+ - theme
+ - '@theme'
+ - region
+ map:
+ garland:
+ bartik:
+ # Garland 6.x --> Bartik 8.x
+ header: header
+ footer: footer_fifth
+ left: sidebar_first
+ right: sidebar_second
+ # If mapping fails, put the block in the content region.
+ default_value: content
+ weight: weight
+ settings:
+ plugin: block_settings
+ source:
+ - '@plugin'
+ - delta
+ - settings
+ - title
+ visibility:
+ plugin: block_visibility
+ source:
+ - visibility
+ - pages
+ - roles
+ # If the block uses PHP visibility, don't migrate it unless the PHP module
+ # is enabled.
+ skip_php: true
+destination:
+ plugin: entity:block
+migration_dependencies:
+ required:
+ - menu
+ - d6_custom_block
+ - d6_user_role