function TextField::defineValueProcessPipeline

Same name and namespace in other branches
  1. 9 core/modules/text/src/Plugin/migrate/field/d6/TextField.php \Drupal\text\Plugin\migrate\field\d6\TextField::defineValueProcessPipeline()
  2. 8.9.x core/modules/text/src/Plugin/migrate/field/d6/TextField.php \Drupal\text\Plugin\migrate\field\d6\TextField::defineValueProcessPipeline()
  3. 11.x core/modules/text/src/Plugin/migrate/field/d6/TextField.php \Drupal\text\Plugin\migrate\field\d6\TextField::defineValueProcessPipeline()

Overrides FieldPluginBase::defineValueProcessPipeline

File

core/modules/text/src/Plugin/migrate/field/d6/TextField.php, line 50

Class

TextField
MigrateField Plugin for Drupal 6 text fields.

Namespace

Drupal\text\Plugin\migrate\field\d6

Code

public function defineValueProcessPipeline(MigrationInterface $migration, $field_name, $field_info) {
  $widget_type = $field_info['widget_type'] ?? $field_info['widget']['type'];
  if ($widget_type == 'optionwidgets_onoff') {
    $process = [
      'value' => [
        'plugin' => 'static_map',
        'source' => 'value',
        'default_value' => 0,
      ],
    ];
    $checked_value = explode("\n", $field_info['global_settings']['allowed_values'])[1];
    if (str_contains($checked_value, '|')) {
      $checked_value = substr($checked_value, 0, strpos($checked_value, '|'));
    }
    $process['value']['map'][$checked_value] = 1;
  }
  else {
    // See \Drupal\migrate_drupal\Plugin\migrate\source\d6\User::baseFields(),
    // signature_format for an example of the YAML that represents this
    // process array.
    $process = [
      'value' => 'value',
      'format' => [
        [
          'plugin' => 'static_map',
          'bypass' => TRUE,
          'source' => 'format',
          'map' => [
            0 => NULL,
          ],
        ],
        [
          'plugin' => 'skip_on_empty',
          'method' => 'process',
        ],
        [
          'plugin' => 'migration_lookup',
          'migration' => [
            'd6_filter_format',
            'd7_filter_format',
          ],
          'source' => 'format',
        ],
      ],
    ];
  }
  $process = [
    'plugin' => 'sub_process',
    'source' => $field_name,
    'process' => $process,
  ];
  $migration->setProcessOfProperty($field_name, $process);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.