You are here

function layout_builder_post_update_rebuild_plugin_dependencies in Drupal 8

Rebuild plugin dependencies for all entity view displays.

File

core/modules/layout_builder/layout_builder.post_update.php, line 19
Post update functions for Layout Builder.

Code

function layout_builder_post_update_rebuild_plugin_dependencies(&$sandbox = NULL) {
  $storage = \Drupal::entityTypeManager()
    ->getStorage('entity_view_display');
  if (!isset($sandbox['ids'])) {
    $sandbox['ids'] = $storage
      ->getQuery()
      ->accessCheck(FALSE)
      ->execute();
    $sandbox['count'] = count($sandbox['ids']);
  }
  for ($i = 0; $i < 10 && count($sandbox['ids']); $i++) {
    $id = array_shift($sandbox['ids']);
    if ($display = $storage
      ->load($id)) {
      $display
        ->save();
    }
  }
  $sandbox['#finished'] = empty($sandbox['ids']) ? 1 : ($sandbox['count'] - count($sandbox['ids'])) / $sandbox['count'];
}