You are here

function _system_update_create_block in Drupal 8

Helper function to create block configuration objects for an update.

Parameters

string $name: The name of the config object.

string $theme_name: The name of the theme the block is associated with.

array $values: The block config values.

4 calls to _system_update_create_block()
system_update_8005 in core/modules/system/system.install
Place local actions and tasks blocks in every theme.
system_update_8006 in core/modules/system/system.install
Place branding blocks in every theme.
system_update_8010 in core/modules/system/system.install
Place page title blocks in every theme.
system_update_8011 in core/modules/system/system.install
Add secondary local tasks block to Seven (fixes system_update_8005).

File

core/modules/system/system.install, line 1914
Install, update and uninstall functions for the system module.

Code

function _system_update_create_block($name, $theme_name, array $values) {
  if (!\Drupal::service('config.storage')
    ->exists($name)) {
    $block = \Drupal::configFactory()
      ->getEditable($name);
    $values['uuid'] = \Drupal::service('uuid')
      ->generate();
    $values['theme'] = $theme_name;
    $values['dependencies.theme'] = [
      $theme_name,
    ];
    foreach ($values as $key => $value) {
      $block
        ->set($key, $value);
    }
    $block
      ->save();
  }
}