layout_builder.post_update.php 760 B

1234567891011121314151617181920212223242526
  1. <?php
  2. /**
  3. * @file
  4. * Post update functions for Layout Builder.
  5. */
  6. /**
  7. * Rebuild plugin dependencies for all entity view displays.
  8. */
  9. function layout_builder_post_update_rebuild_plugin_dependencies(&$sandbox = NULL) {
  10. $storage = \Drupal::entityTypeManager()->getStorage('entity_view_display');
  11. if (!isset($sandbox['ids'])) {
  12. $sandbox['ids'] = $storage->getQuery()->accessCheck(FALSE)->execute();
  13. $sandbox['count'] = count($sandbox['ids']);
  14. }
  15. for ($i = 0; $i < 10 && count($sandbox['ids']); $i++) {
  16. $id = array_shift($sandbox['ids']);
  17. if ($display = $storage->load($id)) {
  18. $display->save();
  19. }
  20. }
  21. $sandbox['#finished'] = empty($sandbox['ids']) ? 1 : ($sandbox['count'] - count($sandbox['ids'])) / $sandbox['count'];
  22. }