Color.php in Drupal 8
File
core/modules/color/src/Plugin/migrate/destination/Color.php
View source
<?php
namespace Drupal\color\Plugin\migrate\destination;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\migrate\Plugin\MigrationInterface;
use Drupal\migrate\Row;
use Drupal\migrate\Plugin\migrate\destination\DestinationBase;
class Color extends DestinationBase implements ContainerFactoryPluginInterface {
protected $configFactory;
public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, ConfigFactoryInterface $config_factory) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $migration);
$this->configFactory = $config_factory;
}
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
return new static($configuration, $plugin_id, $plugin_definition, $migration, $container
->get('config.factory'));
}
public function import(Row $row, array $old_destination_id_values = []) {
$imported = FALSE;
$value = $row
->getDestinationProperty('value');
if (isset($value)) {
$this->configFactory
->getEditable($row
->getDestinationProperty('configuration_name'))
->set($row
->getDestinationProperty('element_name'), $row
->getDestinationProperty('value'))
->save();
$imported = TRUE;
}
return $imported;
}
public function getIds() {
$ids['name']['type'] = 'string';
return $ids;
}
public function fields(MigrationInterface $migration = NULL) {
return [];
}
}
Classes
Name |
Description |
Color |
Persist color data to the config system. |