Newer
Older
Dries Buytaert
committed
<?php
/**
Angie Byron
committed
* @file
* Contains \Drupal\block\Entity\BlockInterface.
Dries Buytaert
committed
*/
namespace Drupal\block;
use Drupal\Core\Config\Entity\ConfigEntityInterface;
Dries Buytaert
committed
/**
* Provides an interface defining a block entity.
Dries Buytaert
committed
*/
interface BlockInterface extends ConfigEntityInterface {
Dries Buytaert
committed
Alex Pott
committed
/**
* Indicates the block label (title) should be displayed to end users.
*/
const BLOCK_LABEL_VISIBLE = 'visible';
Alex Pott
committed
/**
* Denotes that a block is not enabled in any region and should not be shown.
*/
const BLOCK_REGION_NONE = -1;
Dries Buytaert
committed
/**
* Returns the plugin instance.
Angie Byron
committed
*
* @return \Drupal\Core\Block\BlockPluginInterface
* The plugin instance for this block.
Dries Buytaert
committed
*/
public function getPlugin();
Dries Buytaert
committed
/**
* 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();
Angie Byron
committed
/**
* Returns an array of visibility condition configurations.
*
* @return array
* An array of visibility condition configuration keyed by the condition ID.
*/
public function getVisibility();
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/**
* 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);
/**
* Get all available contexts.
*
* @return \Drupal\Component\Plugin\Context\ContextInterface[]
* An array of set contexts, keyed by context name.
*/
public function getContexts();
/**
* Set the contexts that are available for use within the block entity.
*
* @param \Drupal\Component\Plugin\Context\ContextInterface[] $contexts
* An array of contexts to set on the block.
*
* @return $this
*/
public function setContexts(array $contexts);
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/**
* 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);