function ImageStyleMappings::transform
Same name in other branches
- 10 core/modules/responsive_image/src/Plugin/migrate/process/ImageStyleMappings.php \Drupal\responsive_image\Plugin\migrate\process\ImageStyleMappings::transform()
- 11.x core/modules/responsive_image/src/Plugin/migrate/process/ImageStyleMappings.php \Drupal\responsive_image\Plugin\migrate\process\ImageStyleMappings::transform()
Overrides ProcessPluginBase::transform
File
-
core/
modules/ responsive_image/ src/ Plugin/ migrate/ process/ ImageStyleMappings.php, line 22
Class
- ImageStyleMappings
- Transforms image style mappings.
Namespace
Drupal\responsive_image\Plugin\migrate\processCode
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
if (!is_array($value)) {
throw new MigrateException('Input should be an array');
}
[
$mappings,
$breakpoint_group,
] = $value;
$new_value = [];
foreach ($mappings as $mapping_id => $mapping) {
// The id is in the key with the form
// "breakpoints.theme.my_theme_id.image_style_machine_name". We want the
// identifier after the last period.
preg_match('/\\.([a-z0-9_]+)$/', $mapping_id, $matches);
foreach ($mapping as $multiplier => $multiplier_settings) {
if ($multiplier_settings['mapping_type'] == '_none') {
continue;
}
$image_style = [
'breakpoint_id' => $breakpoint_group . '.' . $matches[1],
'multiplier' => $multiplier,
'image_mapping_type' => $multiplier_settings['mapping_type'],
'image_mapping' => $this->getMultiplierSettings($multiplier_settings),
];
$new_value[] = $image_style;
}
}
return $new_value;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.