FieldInstanceDefaults.php
Same filename in this branch
Same filename in other branches
- 9 core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceDefaults.php
- 9 core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceDefaults.php
- 8.9.x core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceDefaults.php
- 8.9.x core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceDefaults.php
- 11.x core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceDefaults.php
- 11.x core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceDefaults.php
Namespace
Drupal\field\Plugin\migrate\process\d7File
-
core/
modules/ field/ src/ Plugin/ migrate/ process/ d7/ FieldInstanceDefaults.php
View source
<?php
namespace Drupal\field\Plugin\migrate\process\d7;
use Drupal\migrate\Attribute\MigrateProcess;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\ProcessPluginBase;
use Drupal\migrate\Row;
class FieldInstanceDefaults extends ProcessPluginBase {
/**
* {@inheritdoc}
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
[
$default_value,
$widget_settings,
] = $value;
$widget_type = $widget_settings['type'];
$default_value = $default_value ?: [];
// In Drupal 7, the default value for email fields is stored in the key
// 'email' while in Drupal 8 it is stored in the key 'value'.
if ($widget_type == 'email_textfield' && $default_value) {
$default_value[0]['value'] = $default_value[0]['email'];
unset($default_value[0]['email']);
}
if ($widget_type == 'link_field' && $default_value) {
$default_value[0]['uri'] = $default_value[0]['url'];
$default_value[0]['options'] = [
'attributes' => [],
];
unset($default_value[0]['url']);
}
return $default_value;
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
FieldInstanceDefaults |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.