You are here

public function SocialContentBlockOverride::loadOverrides in Open Social 8.6

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_content_block/src/SocialContentBlockOverride.php \Drupal\social_content_block\SocialContentBlockOverride::loadOverrides()
  2. 8.7 modules/social_features/social_content_block/src/SocialContentBlockOverride.php \Drupal\social_content_block\SocialContentBlockOverride::loadOverrides()
  3. 8.8 modules/social_features/social_content_block/src/SocialContentBlockOverride.php \Drupal\social_content_block\SocialContentBlockOverride::loadOverrides()
  4. 10.3.x modules/social_features/social_content_block/src/SocialContentBlockOverride.php \Drupal\social_content_block\SocialContentBlockOverride::loadOverrides()
  5. 10.0.x modules/social_features/social_content_block/src/SocialContentBlockOverride.php \Drupal\social_content_block\SocialContentBlockOverride::loadOverrides()
  6. 10.1.x modules/social_features/social_content_block/src/SocialContentBlockOverride.php \Drupal\social_content_block\SocialContentBlockOverride::loadOverrides()
  7. 10.2.x modules/social_features/social_content_block/src/SocialContentBlockOverride.php \Drupal\social_content_block\SocialContentBlockOverride::loadOverrides()

Load overrides.

Overrides ConfigFactoryOverrideInterface::loadOverrides

File

modules/social_features/social_content_block/src/SocialContentBlockOverride.php, line 40

Class

SocialContentBlockOverride
Class SocialContentBlockOverride.

Namespace

Drupal\social_content_block

Code

public function loadOverrides($names) {
  $overrides = [];
  $config_name = 'field.field.paragraph.block.field_block_reference_secondary';
  if (in_array($config_name, $names)) {
    $config = $this->configFactory
      ->getEditable($config_name);
    $settings = $config
      ->getOriginal('settings', FALSE)['plugin_ids'];

    // Get all the blocks from this custom block type.
    $query = \Drupal::entityQuery('block_content')
      ->condition('type', 'custom_content_list');
    $ids = $query
      ->execute();
    foreach ($ids as $id) {
      $block = BlockContent::load($id);
      if ($block) {
        $plugin_ids[] = 'block_content:' . $block
          ->uuid();
      }
    }

    // Add the blocks to the landing page.
    if (isset($plugin_ids)) {
      foreach ($plugin_ids as $plugin_id) {
        $settings[$plugin_id] = $plugin_id;
      }
    }
    $overrides[$config_name]['settings']['plugin_ids'] = $settings;
  }
  return $overrides;
}