Delete configuration upon synchronizing configuration changes.
This callback is invoked when configuration is synchronized between storages and allows a module to take over the synchronization of configuration data.
Modules should implement this callback if they manage configuration data (such as image styles, node types, or fields) which needs to be prepared and passed through module API functions to properly handle a configuration change.
string $name: The name of the configuration object.
Drupal\Core\Config\Config $new_config: A configuration object containing the new configuration data.
Drupal\Core\Config\Config $old_config: A configuration object containing the old configuration data.
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
function hook_config_import_delete($name, $new_config, $old_config) {
// Only configuration entities require custom handling. Any other module
// settings can be synchronized directly.
if (strpos($name, 'config_test.dynamic.') !== 0) {
return FALSE;
}
// @todo image_style_delete() supports the notion of a "replacement style"
// to be used by other modules instead of the deleted style. Essential!
// But that is impossible currently, since the config system only knows
// about deleted and added changes. Introduce an 'old_ID' key within
// config objects as a standard?
list($entity_type) = explode('.', $name);
$entity_info = entity_get_info($entity_type);
$id = substr($name, strlen($entity_info['config_prefix']) + 1);
config_test_delete($id);
return TRUE;
}