public function EntityImageStyle::import in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/image/src/Plugin/migrate/destination/EntityImageStyle.php \Drupal\image\Plugin\migrate\destination\EntityImageStyle::import()
Import the row.
Derived classes must implement import(), to construct one new object (pre-populated) using ID mappings in the Migration.
Parameters
\Drupal\migrate\Row $row: The row object.
array $old_destination_id_values: The old destination ids.
Return value
mixed The entity id or an indication of success.
Overrides EntityConfigBase::import
File
- core/
modules/ image/ src/ Plugin/ migrate/ destination/ EntityImageStyle.php, line 28 - Contains \Drupal\image\Plugin\migrate\destination\EntityImageStyle.
Class
- EntityImageStyle
- Every migration that uses this destination must have an optional dependency on the d6_file migration to ensure it runs first.
Namespace
Drupal\image\Plugin\migrate\destinationCode
public function import(Row $row, array $old_destination_id_values = []) {
$effects = [];
// Need to set the effects property to null on the row before the ImageStyle
// is created, this prevents improper effect plugin initialization.
if ($row
->getDestinationProperty('effects')) {
$effects = $row
->getDestinationProperty('effects');
$row
->setDestinationProperty('effects', []);
}
/** @var \Drupal\Image\Entity\ImageStyle $style */
$style = $this
->getEntity($row, $old_destination_id_values);
// Iterate the effects array so each effect plugin can be initialized.
// Catch any missing plugin exceptions.
foreach ($effects as $effect) {
try {
$style
->addImageEffect($effect);
} catch (PluginNotFoundException $e) {
throw new MigrateException($e
->getMessage(), 0, $e);
}
}
$style
->save();
return array(
$style
->id(),
);
}