class Display in Layout 8.2
Defines the display entity.
Plugin annotation
@EntityType(
id = "display",
label = @Translation("Display"),
module = "layout",
controllers = {
"storage" = "Drupal\Core\Config\Entity\ConfigStorageController"
},
config_prefix = "display.bound",
entity_keys = {
"id" = "id",
"uuid" = "uuid"
}
)
Hierarchy
- class \Drupal\Core\Entity\EntityBase implements EntityInterface uses RefinableCacheableDependencyTrait, DependencySerializationTrait
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements ConfigEntityInterface uses SynchronizableEntityTrait, PluginDependencyTrait
- class \Drupal\layout\Config\DisplayBase implements DisplayInterface
- class \Drupal\layout\Entity\Display implements BoundDisplayInterface
- class \Drupal\layout\Config\DisplayBase implements DisplayInterface
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements ConfigEntityInterface uses SynchronizableEntityTrait, PluginDependencyTrait
Expanded class hierarchy of Display
1 file declares its use of Display
- DisplayInternalLogicTest.php in lib/
Drupal/ layout/ Tests/ DisplayInternalLogicTest.php - Definition of \Drupal\layout\Tests\DisplayInternalLogicTest.
1 string reference to 'Display'
- DisplayInternalLogicTest::getInfo in lib/
Drupal/ layout/ Tests/ DisplayInternalLogicTest.php
File
- lib/
Drupal/ layout/ Entity/ Display.php, line 34 - Definition of Drupal\layout\Entity\Display.
Namespace
Drupal\layout\EntityView source
class Display extends DisplayBase implements BoundDisplayInterface {
/**
* A two-level array expressing block ordering within regions.
*
* The outer array is associative, keyed on region name. Each inner array is
* indexed, with the config address of a block as values and sorted according
* to order in which those blocks should appear in that region.
*
* This property is not stored statically in config, but is derived at runtime
* by DisplayBase::sortBlocks(). It is not stored statically because that
* would make using weights for ordering more difficult, and weights make
* external mass manipulation of displays much easier.
*
* @var array
*/
protected $blocksInRegions;
/**
* The layout instance being used to serve this page.
*
* @var \Drupal\layout\Plugin\LayoutInterface
*/
protected $layoutInstance;
/**
* The name of the layout plugin to use.
*
* @var string
*/
public $layout;
/**
* The settings with which to instantiate the layout plugin.
*
* @var array
*/
public $layoutSettings = array();
/**
* Implements BoundDisplayInterface::getSortedBlocksByRegion().
*
* @throws \Exception
*/
public function getSortedBlocksByRegion($region) {
if ($this->blocksInRegions === NULL) {
$this
->sortBlocks();
}
if (!isset($this->blocksInRegions[$region])) {
throw new \Exception(sprintf("Region %region does not exist in layout %layout", array(
'%region' => $region,
'%layout' => $this
->getLayoutInstance()->name,
)), E_RECOVERABLE_ERROR);
}
return $this->blocksInRegions[$region];
}
/**
* Implements BoundDisplayInterface::getAllSortedBlocks().
*/
public function getAllSortedBlocks() {
if ($this->blocksInRegions === NULL) {
$this
->sortBlocks();
}
return $this->blocksInRegions;
}
/**
* Transform the stored blockConfig into a sorted, region-oriented array.
*/
protected function sortBlocks() {
$layout_instance = $this
->getLayoutInstance();
if ($this->layout !== $layout_instance
->getPluginId()) {
$block_config = $this
->mapBlocksToLayout($layout_instance);
}
else {
$block_config = $this->blockInfo;
}
$this->blocksInRegions = array();
$regions = array_fill_keys(array_keys($layout_instance
->getRegions()), array());
foreach ($block_config as $config_name => $info) {
$regions[$info['region']][$config_name] = $info;
}
foreach ($regions as $region_name => &$blocks) {
uasort($blocks, 'drupal_sort_weight');
$this->blocksInRegions[$region_name] = array_keys($blocks);
}
}
/**
* Implements BoundDisplayInterface::remapToLayout().
*/
public function remapToLayout(LayoutInterface $layout) {
$this->blockInfo = $this
->mapBlocksToLayout($layout);
$this
->setLayout($layout
->getPluginId());
}
/**
* Set the contained layout plugin.
*
* @param string $plugin_id
* The plugin id of the desired layout plugin.
*/
public function setLayout($plugin_id) {
// @todo verification?
$this->layout = $plugin_id;
$this->layoutInstance = NULL;
$this->blocksInRegions = NULL;
}
/**
* Implements BoundDisplayInterface::generateUnboundDisplay().
*
* @throws \Exception
*/
public function generateUnboundDisplay($id, $entity_type = 'unbound_display') {
$block_info = $this
->getAllBlockInfo();
foreach ($block_info as &$info) {
unset($info['region']);
}
$values = array(
'blockInfo' => $block_info,
'id' => $id,
);
$entity = entity_create($entity_type, $values);
if (!$entity instanceof UnboundDisplayInterface) {
throw new \Exception(sprintf('Attempted to create an unbound display using an invalid entity type.'), E_RECOVERABLE_ERROR);
}
return $entity;
}
/**
* Returns the instantiated layout object.
*
* @throws \Exception
*/
public function getLayoutInstance() {
if ($this->layoutInstance === NULL) {
if (empty($this->layout)) {
throw new \Exception(sprintf('Display "%id" had no layout plugin attached.', array(
'%id' => $this
->id(),
)), E_RECOVERABLE_ERROR);
}
$this->layoutInstance = \Drupal::service('plugin.manager.layout')
->createInstance($this->layout, $this->layoutSettings);
// @todo add handling for remapping if the layout could not be found
}
return $this->layoutInstance;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CacheableDependencyTrait:: |
protected | property | Cache contexts. | |
CacheableDependencyTrait:: |
protected | property | Cache max-age. | |
CacheableDependencyTrait:: |
protected | property | Cache tags. | |
CacheableDependencyTrait:: |
protected | function | Sets cacheability; useful for value object constructors. | |
ConfigEntityBase:: |
private | property | Whether the config is being deleted by the uninstall process. | |
ConfigEntityBase:: |
protected | property | The language code of the entity's default language. | |
ConfigEntityBase:: |
protected | property | The original ID of the configuration entity. | |
ConfigEntityBase:: |
protected | property | The enabled/disabled status of the configuration entity. | 4 |
ConfigEntityBase:: |
protected | property | Third party entity settings. | |
ConfigEntityBase:: |
protected | property | Trust supplied data and not use configuration schema on save. | |
ConfigEntityBase:: |
protected | property | Information maintained by Drupal core about configuration. | |
ConfigEntityBase:: |
protected | function | Overrides \Drupal\Core\Entity\DependencyTrait:addDependency(). | |
ConfigEntityBase:: |
public | function |
Calculates dependencies and stores them in the dependency property. Overrides ConfigEntityInterface:: |
13 |
ConfigEntityBase:: |
public | function |
Creates a duplicate of the entity. Overrides EntityBase:: |
1 |
ConfigEntityBase:: |
public | function |
Disables the configuration entity. Overrides ConfigEntityInterface:: |
1 |
ConfigEntityBase:: |
public | function |
Enables the configuration entity. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Returns the value of a property. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Returns the cache tags that should be used to invalidate caches. Overrides EntityBase:: |
1 |
ConfigEntityBase:: |
public | function |
Gets the configuration dependency name. Overrides EntityBase:: |
|
ConfigEntityBase:: |
protected static | function | Gets the configuration manager. | |
ConfigEntityBase:: |
public | function |
Gets the configuration target identifier for the entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Gets the configuration dependencies. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets the original ID. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Gets the list of third parties that store information. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets all third-party settings of a given module. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
protected | function | Gets the typed config manager. | |
ConfigEntityBase:: |
public | function |
Gets whether on not the data is trusted. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
protected static | function |
Override to never invalidate the individual entities' cache tags; the
config system already invalidates them. Overrides EntityBase:: |
|
ConfigEntityBase:: |
protected | function |
Override to never invalidate the entity's cache tag; the config system
already invalidates it. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Checks whether this entity is installable. Overrides ConfigEntityInterface:: |
2 |
ConfigEntityBase:: |
public | function |
Overrides Entity::isNew(). Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Returns whether this entity is being changed during the uninstall process. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Deprecated way of generating a link to the entity. See toLink(). Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Informs the entity that entities it depends on will be deleted. Overrides ConfigEntityInterface:: |
7 |
ConfigEntityBase:: |
public static | function |
Acts on entities before they are deleted and before hooks are invoked. Overrides EntityBase:: |
8 |
ConfigEntityBase:: |
public | function |
Acts on an entity before the presave hook is invoked. Overrides EntityBase:: |
13 |
ConfigEntityBase:: |
public | function |
Saves an entity permanently. Overrides EntityBase:: |
1 |
ConfigEntityBase:: |
public | function |
Sets the value of a property. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Sets the original ID. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Sets the status of the configuration entity. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Sets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function | ||
ConfigEntityBase:: |
public static | function | Helper callback for uasort() to sort configuration entities by weight and label. | 6 |
ConfigEntityBase:: |
public | function |
Returns whether the configuration entity is enabled. Overrides ConfigEntityInterface:: |
4 |
ConfigEntityBase:: |
public | function |
Gets an array of all property values. Overrides EntityBase:: |
2 |
ConfigEntityBase:: |
public | function |
Gets the URL object for the entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Sets that the data should be trusted. Overrides ConfigEntityInterface:: |
|
ConfigEntityBase:: |
public | function |
Unsets a third-party setting. Overrides ThirdPartySettingsInterface:: |
|
ConfigEntityBase:: |
public | function |
Gets the public URL for this entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Gets the URL object for the entity. Overrides EntityBase:: |
|
ConfigEntityBase:: |
public | function |
Constructs an Entity object. Overrides EntityBase:: |
10 |
ConfigEntityBase:: |
public | function |
Overrides EntityBase:: |
4 |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | Aliased as: traitSleep | 1 |
DependencySerializationTrait:: |
public | function | 2 | |
DependencyTrait:: |
protected | property | The object's dependencies. | |
DependencyTrait:: |
protected | function | Adds multiple dependencies. | |
DependencyTrait:: |
protected | function | Adds a dependency. Aliased as: addDependencyTrait | |
Display:: |
protected | property | A two-level array expressing block ordering within regions. | |
Display:: |
public | property | The name of the layout plugin to use. | |
Display:: |
protected | property | The layout instance being used to serve this page. | |
Display:: |
public | property | The settings with which to instantiate the layout plugin. | |
Display:: |
public | function |
Implements BoundDisplayInterface::generateUnboundDisplay(). Overrides BoundDisplayInterface:: |
|
Display:: |
public | function |
Implements BoundDisplayInterface::getAllSortedBlocks(). Overrides BoundDisplayInterface:: |
|
Display:: |
public | function |
Returns the instantiated layout object. Overrides BoundDisplayInterface:: |
|
Display:: |
public | function |
Implements BoundDisplayInterface::getSortedBlocksByRegion(). Overrides BoundDisplayInterface:: |
|
Display:: |
public | function |
Implements BoundDisplayInterface::remapToLayout(). Overrides BoundDisplayInterface:: |
|
Display:: |
public | function |
Set the contained layout plugin. Overrides BoundDisplayInterface:: |
|
Display:: |
protected | function | Transform the stored blockConfig into a sorted, region-oriented array. | |
DisplayBase:: |
protected | property | Contains all block configuration. | |
DisplayBase:: |
public | property | The ID (config name) identifying a specific display object. | |
DisplayBase:: |
public | property |
The UUID identifying a specific display object. Overrides ConfigEntityBase:: |
|
DisplayBase:: |
public | function |
Implements DisplayInterface::getAllBlockInfo(). Overrides DisplayInterface:: |
|
DisplayBase:: |
public | function |
Implements DisplayInterface::getAllRegionTypes(). Overrides DisplayInterface:: |
|
DisplayBase:: |
public | function |
Implements DisplayInterface::mapBlocksToLayout(). Overrides DisplayInterface:: |
|
EntityBase:: |
protected | property | Boolean indicating whether the entity should be forced to be new. | |
EntityBase:: |
protected | property | The entity type. | |
EntityBase:: |
protected | property | A typed data object wrapping this entity. | |
EntityBase:: |
public | function |
Checks data value access. Overrides AccessibleInterface:: |
1 |
EntityBase:: |
public | function |
Gets the bundle of the entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
public static | function |
Constructs a new entity object, without permanently saving it. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Deletes an entity permanently. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Enforces an entity to be new. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | Gets the entity manager. | |
EntityBase:: |
protected | function | Gets the entity type bundle info service. | |
EntityBase:: |
protected | function | Gets the entity type manager. | |
EntityBase:: |
public | function |
The cache contexts associated with this object. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
The maximum age for which this object may be cached. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
The cache tags associated with this object. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
Gets the key that is used to store configuration dependencies. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the entity type definition. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the ID of the type of the entity. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | The list cache tags to invalidate for this entity. | |
EntityBase:: |
public | function |
Gets a typed data object for this entity object. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Indicates if a link template exists for a given key. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the identifier. Overrides EntityInterface:: |
11 |
EntityBase:: |
public | function |
Gets the label of the entity. Overrides EntityInterface:: |
6 |
EntityBase:: |
public | function |
Gets the language of the entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
protected | function | Gets the language manager. | |
EntityBase:: |
protected | function | Gets an array link templates. | 1 |
EntityBase:: |
public static | function |
Loads an entity. Overrides EntityInterface:: |
|
EntityBase:: |
public static | function |
Loads one or more entities. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Acts on a created entity before hooks are invoked. Overrides EntityInterface:: |
4 |
EntityBase:: |
public static | function |
Acts on deleted entities before the delete hook is invoked. Overrides EntityInterface:: |
16 |
EntityBase:: |
public static | function |
Acts on loaded entities. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Acts on a saved entity before the insert or update hook is invoked. Overrides EntityInterface:: |
14 |
EntityBase:: |
public static | function |
Changes the values of an entity before it is created. Overrides EntityInterface:: |
5 |
EntityBase:: |
public | function |
Gets a list of entities referenced by this entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
public | function |
Generates the HTML for a link to this entity. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets a list of URI relationships supported by this entity. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | Gets an array of placeholders for this entity. | 2 |
EntityBase:: |
public | function |
Gets the entity UUID (Universally Unique Identifier). Overrides EntityInterface:: |
1 |
EntityBase:: |
protected | function | Gets the UUID generator. | |
PluginDependencyTrait:: |
protected | function | Calculates and adds dependencies of a specific plugin instance. | 1 |
PluginDependencyTrait:: |
protected | function | Calculates and returns dependencies of a specific plugin instance. | |
PluginDependencyTrait:: |
protected | function | Wraps the module handler. | 1 |
PluginDependencyTrait:: |
protected | function | Wraps the theme handler. | 1 |
RefinableCacheableDependencyTrait:: |
public | function | 1 | |
RefinableCacheableDependencyTrait:: |
public | function | ||
RefinableCacheableDependencyTrait:: |
public | function | ||
RefinableCacheableDependencyTrait:: |
public | function | ||
SynchronizableEntityTrait:: |
protected | property | Whether this entity is being created, updated or deleted through a synchronization process. | |
SynchronizableEntityTrait:: |
public | function | ||
SynchronizableEntityTrait:: |
public | function |