function page_manager_update_8002 in Page Manager 8.4
Rename layout machine names in config entities to match layout discovery's default layouts.
File
- ./
page_manager.install, line 39 - Contains update functions for Page Manager.
Code
function page_manager_update_8002() {
$names = \Drupal::configFactory()
->listAll('page_manager.page_variant');
foreach ($names as $name) {
$config = \Drupal::configFactory()
->getEditable($name);
if ($config
->get('variant') === 'panels_variant') {
module_load_install('panels');
if (!function_exists('panels_convert_plugin_ids_to_layout_discovery')) {
throw new \Exception('Panels helper function does not exist, the latest Panels 4.x-dev snapshot is required to run this update.');
}
$layout_id = $config
->get('variant_settings.layout');
if ($new_layout_id = panels_convert_plugin_ids_to_layout_discovery($layout_id)) {
$config
->set('variant_settings.layout', $new_layout_id);
$config
->save();
}
}
}
}