function FieldFormatterSettingsDefaults::transform

Same name in other branches
  1. 9 core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php \Drupal\field\Plugin\migrate\process\d6\FieldFormatterSettingsDefaults::transform()
  2. 10 core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php \Drupal\field\Plugin\migrate\process\d6\FieldFormatterSettingsDefaults::transform()
  3. 11.x core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php \Drupal\field\Plugin\migrate\process\d6\FieldFormatterSettingsDefaults::transform()

Set field formatter settings when the map didn't map: for date formatters, the fallback format, for everything else, empty array.

Overrides ProcessPluginBase::transform

File

core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php, line 24

Class

FieldFormatterSettingsDefaults
Set the default field settings.

Namespace

Drupal\field\Plugin\migrate\process\d6

Code

public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
    // If the 1 index is set then the map missed.
    if (isset($value[1])) {
        $module = $row->getSourceProperty('module');
        if ($module === 'date') {
            $value = [
                'format_type' => 'fallback',
            ];
        }
        elseif ($module === 'number') {
            // We have to do the lookup here in the process plugin because for
            // number we need to calculated the settings based on the type not just
            // the module which works well for other field types.
            return $this->numberSettings($row->getDestinationProperty('options/type'), $value[1]);
        }
        else {
            $value = [];
        }
    }
    return $value;
}

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