class ThemeSettings
Same name in this branch
- 10 core/modules/system/src/Plugin/migrate/source/d7/ThemeSettings.php \Drupal\system\Plugin\migrate\source\d7\ThemeSettings
- 10 core/lib/Drupal/Core/Theme/ThemeSettings.php \Drupal\Core\Theme\ThemeSettings
Same name in other branches
- 9 core/modules/system/src/Plugin/migrate/destination/d7/ThemeSettings.php \Drupal\system\Plugin\migrate\destination\d7\ThemeSettings
- 9 core/modules/system/src/Plugin/migrate/source/d7/ThemeSettings.php \Drupal\system\Plugin\migrate\source\d7\ThemeSettings
- 9 core/lib/Drupal/Core/Theme/ThemeSettings.php \Drupal\Core\Theme\ThemeSettings
- 8.9.x core/modules/system/src/Plugin/migrate/destination/d7/ThemeSettings.php \Drupal\system\Plugin\migrate\destination\d7\ThemeSettings
- 8.9.x core/modules/system/src/Plugin/migrate/source/d7/ThemeSettings.php \Drupal\system\Plugin\migrate\source\d7\ThemeSettings
- 8.9.x core/lib/Drupal/Core/Theme/ThemeSettings.php \Drupal\Core\Theme\ThemeSettings
- 11.x core/modules/system/src/Plugin/migrate/destination/d7/ThemeSettings.php \Drupal\system\Plugin\migrate\destination\d7\ThemeSettings
- 11.x core/modules/system/src/Plugin/migrate/source/d7/ThemeSettings.php \Drupal\system\Plugin\migrate\source\d7\ThemeSettings
- 11.x core/lib/Drupal/Core/Theme/ThemeSettings.php \Drupal\Core\Theme\ThemeSettings
Persist theme settings to the config system.
Hierarchy
- class \Drupal\system\Plugin\migrate\destination\d7\ThemeSettings extends \Drupal\migrate\Plugin\migrate\destination\DestinationBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface
Expanded class hierarchy of ThemeSettings
1 file declares its use of ThemeSettings
- DestinationCategoryTest.php in core/
modules/ migrate_drupal/ tests/ src/ Kernel/ Plugin/ migrate/ DestinationCategoryTest.php
File
-
core/
modules/ system/ src/ Plugin/ migrate/ destination/ d7/ ThemeSettings.php, line 16
Namespace
Drupal\system\Plugin\migrate\destination\d7View source
class ThemeSettings extends DestinationBase implements ContainerFactoryPluginInterface {
/**
* The configuration factory.
*
* @var \Drupal\Core\Config\ConfigFactoryInterface
*/
protected $configFactory;
/**
* Constructs a theme settings destination object.
*
* @param array $configuration
* Plugin configuration.
* @param string $plugin_id
* The plugin ID.
* @param mixed $plugin_definition
* The plugin definition.
* @param \Drupal\migrate\Plugin\MigrationInterface $migration
* The current migration.
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The configuration factory.
*/
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;
}
/**
* {@inheritdoc}
*/
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'));
}
/**
* {@inheritdoc}
*/
public function import(Row $row, array $old_destination_id_values = []) {
$imported = FALSE;
$config = $this->configFactory
->getEditable($row->getDestinationProperty('configuration_name'));
$theme_settings = $row->getDestination();
// Remove keys not in theme settings.
unset($theme_settings['configuration_name']);
unset($theme_settings['theme_name']);
unset($theme_settings['legacy_theme_name']);
if (isset($theme_settings)) {
theme_settings_convert_to_config($theme_settings, $config);
$config->save();
$imported = TRUE;
}
return $imported;
}
/**
* {@inheritdoc}
*/
public function getIds() {
$ids['name']['type'] = 'string';
return $ids;
}
/**
* {@inheritdoc}
*/
public function fields() {
// Theme settings vary by theme, so no specific fields are defined.
return [];
}
}
Members
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.