class BlockContent in Zircon Profile 8
Same name in this branch
- 8 core/modules/block_content/src/Entity/BlockContent.php \Drupal\block_content\Entity\BlockContent
- 8 core/modules/block_content/src/Plugin/Derivative/BlockContent.php \Drupal\block_content\Plugin\Derivative\BlockContent
Same name and namespace in other branches
- 8.0 core/modules/block_content/src/Plugin/Derivative/BlockContent.php \Drupal\block_content\Plugin\Derivative\BlockContent
Retrieves block plugin definitions for all custom blocks.
Hierarchy
- class \Drupal\Component\Plugin\Derivative\DeriverBase implements DeriverInterface- class \Drupal\block_content\Plugin\Derivative\BlockContent implements ContainerDeriverInterface
 
Expanded class hierarchy of BlockContent
File
- core/modules/ block_content/ src/ Plugin/ Derivative/ BlockContent.php, line 18 
- Contains \Drupal\block_content\Plugin\Derivative\BlockContent.
Namespace
Drupal\block_content\Plugin\DerivativeView source
class BlockContent extends DeriverBase implements ContainerDeriverInterface {
  /**
   * The custom block storage.
   *
   * @var \Drupal\Core\Entity\EntityStorageInterface
   */
  protected $blockContentStorage;
  /**
   * Constructs a BlockContent object.
   *
   * @param \Drupal\Core\Entity\EntityStorageInterface $block_content_storage
   *   The custom block storage.
   */
  public function __construct(EntityStorageInterface $block_content_storage) {
    $this->blockContentStorage = $block_content_storage;
  }
  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, $base_plugin_id) {
    $entity_manager = $container
      ->get('entity.manager');
    return new static($entity_manager
      ->getStorage('block_content'));
  }
  /**
   * {@inheritdoc}
   */
  public function getDerivativeDefinitions($base_plugin_definition) {
    $block_contents = $this->blockContentStorage
      ->loadMultiple();
    /** @var $block_content \Drupal\block_content\Entity\BlockContent */
    foreach ($block_contents as $block_content) {
      $this->derivatives[$block_content
        ->uuid()] = $base_plugin_definition;
      $this->derivatives[$block_content
        ->uuid()]['admin_label'] = $block_content
        ->label();
      $this->derivatives[$block_content
        ->uuid()]['config_dependencies']['content'] = array(
        $block_content
          ->getConfigDependencyName(),
      );
    }
    return parent::getDerivativeDefinitions($base_plugin_definition);
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| BlockContent:: | protected | property | The custom block storage. | |
| BlockContent:: | public static | function | Creates a new class instance. Overrides ContainerDeriverInterface:: | |
| BlockContent:: | public | function | Gets the definition of all derivatives of a base plugin. Overrides DeriverBase:: | |
| BlockContent:: | public | function | Constructs a BlockContent object. | |
| DeriverBase:: | protected | property | List of derivative definitions. | 1 | 
| DeriverBase:: | public | function | Gets the definition of a derivative plugin. Overrides DeriverInterface:: | 
