
| Current Path : /var/www/html/rocksensor1/web/core/modules/block/src/Plugin/migrate/destination/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/rocksensor1/web/core/modules/block/src/Plugin/migrate/destination/EntityBlock.php |
<?php
namespace Drupal\block\Plugin\migrate\destination;
use Drupal\Core\Config\Schema\SchemaIncompleteException;
use Drupal\migrate\Attribute\MigrateDestination;
use Drupal\migrate\MigrateException;
use Drupal\migrate\Plugin\migrate\destination\EntityConfigBase;
use Drupal\migrate\Row;
/**
* Migrate destination for block entity.
*/
#[MigrateDestination('entity:block')]
class EntityBlock extends EntityConfigBase {
/**
* {@inheritdoc}
*/
protected function getEntityId(Row $row) {
// Try to find the block by its plugin ID and theme.
$properties = [
'plugin' => $row->getDestinationProperty('plugin'),
'theme' => $row->getDestinationProperty('theme'),
];
$blocks = array_keys($this->storage->loadByProperties($properties));
return reset($blocks);
}
/**
* {@inheritdoc}
*/
public function import(Row $row, array $old_destination_id_values = []) {
try {
$entity_ids = parent::import($row, $old_destination_id_values);
}
catch (SchemaIncompleteException $e) {
throw new MigrateException($e->getMessage());
}
return $entity_ids;
}
}