function TextField::processCckFieldValues

Overrides CckFieldPluginBase::processCckFieldValues

File

core/modules/text/src/Plugin/migrate/cckfield/TextField.php, line 55

Class

TextField
Plugin annotation @MigrateCckField( id = "text", type_map = { "text" = "text", "text_long" = "text_long", "text_with_summary" = "text_with_summary" }, core = {6,7}, source_module = "text", destination_module = "text", )

Namespace

Drupal\text\Plugin\migrate\cckfield

Code

public function processCckFieldValues(MigrationInterface $migration, $field_name, $field_info) {
    $widget_type = isset($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 (strpos($checked_value, '|') !== FALSE) {
            $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',
                    '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.