interface BlockInterface

Same name and namespace in other branches
  1. 11.x core/modules/block/src/BlockInterface.php \Drupal\block\BlockInterface

Provides an interface defining a block entity.

Hierarchy

Expanded class hierarchy of BlockInterface

All classes that implement BlockInterface

7 files declare their use of BlockInterface
Block.php in core/modules/block/src/Entity/Block.php
BlockController.php in core/modules/block/src/Controller/BlockController.php
BlockEntitySettingTrayForm.php in core/modules/settings_tray/src/Block/BlockEntitySettingTrayForm.php
BlockHasOverridesAccessCheck.php in core/modules/settings_tray/src/Access/BlockHasOverridesAccessCheck.php
BlockPluginHasSettingsTrayFormAccessCheck.php in core/modules/settings_tray/src/Access/BlockPluginHasSettingsTrayFormAccessCheck.php

... See full list

File

core/modules/block/src/BlockInterface.php, line 10

Namespace

Drupal\block
View source
interface BlockInterface extends ConfigEntityInterface {
  
  /**
   * Returns the plugin instance.
   *
   * @return \Drupal\Core\Block\BlockPluginInterface
   *   The plugin instance for this block.
   */
  public function getPlugin();
  
  /**
   * Returns the plugin ID.
   *
   * @return string
   *   The plugin ID for this block.
   */
  public function getPluginId();
  
  /**
   * Returns the region this block is placed in.
   *
   * @return string
   *   The region this block is placed in.
   */
  public function getRegion();
  
  /**
   * Returns the theme ID.
   *
   * @return string
   *   The theme ID for this block instance.
   */
  public function getTheme();
  
  /**
   * Returns an array of visibility condition configurations.
   *
   * @return array
   *   An array of visibility condition configuration keyed by the condition ID.
   */
  public function getVisibility();
  
  /**
   * Gets conditions for this block.
   *
   * @return \Drupal\Core\Condition\ConditionInterface[]|\Drupal\Core\Condition\ConditionPluginCollection
   *   An array or collection of configured condition plugins.
   */
  public function getVisibilityConditions();
  
  /**
   * Gets a visibility condition plugin instance.
   *
   * @param string $instance_id
   *   The condition plugin instance ID.
   *
   * @return \Drupal\Core\Condition\ConditionInterface
   *   A condition plugin.
   */
  public function getVisibilityCondition($instance_id);
  
  /**
   * Sets the visibility condition configuration.
   *
   * @param string $instance_id
   *   The condition instance ID.
   * @param array $configuration
   *   The condition configuration.
   *
   * @return $this
   */
  public function setVisibilityConfig($instance_id, array $configuration);
  
  /**
   * Returns the weight of this block (used for sorting).
   *
   * @return int
   *   The block weight.
   */
  public function getWeight();
  
  /**
   * Sets the region this block is placed in.
   *
   * @param string $region
   *   The region to place this block in.
   *
   * @return $this
   */
  public function setRegion($region);
  
  /**
   * Sets the block weight.
   *
   * @param int $weight
   *   The desired weight.
   *
   * @return $this
   */
  public function setWeight($weight);
  
  /**
   * Creates a duplicate of the block entity.
   *
   * @param string $new_id
   *   (optional) The new ID on the duplicate block.
   * @param string $new_theme
   *   (optional) The theme on the duplicate block.
   *
   * @return static
   *   A clone of $this with all identifiers unset, so saving it inserts a new
   *   entity into the storage system.
   */
  public function createDuplicateBlock($new_id = NULL, $new_theme = NULL);

}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.