class PageDisplayVariantSelectionEvent
Same name in other branches
- 9 core/lib/Drupal/Core/Render/PageDisplayVariantSelectionEvent.php \Drupal\Core\Render\PageDisplayVariantSelectionEvent
- 8.9.x core/lib/Drupal/Core/Render/PageDisplayVariantSelectionEvent.php \Drupal\Core\Render\PageDisplayVariantSelectionEvent
- 10 core/lib/Drupal/Core/Render/PageDisplayVariantSelectionEvent.php \Drupal\Core\Render\PageDisplayVariantSelectionEvent
Event fired when rendering main content, to select a page display variant.
Subscribers of this event can call the following setters to pass additional information along to the selected variant:
Hierarchy
- class \Drupal\Component\EventDispatcher\Event extends \Symfony\Contracts\EventDispatcher\Event
- class \Drupal\Core\Render\PageDisplayVariantSelectionEvent extends \Drupal\Component\EventDispatcher\Event implements \Drupal\Core\Cache\RefinableCacheableDependencyInterface uses \Drupal\Core\Cache\RefinableCacheableDependencyTrait
Expanded class hierarchy of PageDisplayVariantSelectionEvent
See also
\Drupal\Core\Render\RenderEvents::SELECT_PAGE_DISPLAY_VARIANT
\Drupal\Core\Render\MainContent\HtmlRenderer
3 files declare their use of PageDisplayVariantSelectionEvent
- BlockPageDisplayVariantSubscriber.php in core/
modules/ block/ src/ EventSubscriber/ BlockPageDisplayVariantSubscriber.php - HtmlRenderer.php in core/
lib/ Drupal/ Core/ Render/ MainContent/ HtmlRenderer.php - TestPageDisplayVariantSubscriber.php in core/
modules/ system/ tests/ modules/ display_variant_test/ src/ EventSubscriber/ TestPageDisplayVariantSubscriber.php
File
-
core/
lib/ Drupal/ Core/ Render/ PageDisplayVariantSelectionEvent.php, line 22
Namespace
Drupal\Core\RenderView source
class PageDisplayVariantSelectionEvent extends Event implements RefinableCacheableDependencyInterface {
use RefinableCacheableDependencyTrait;
/**
* The selected page display variant plugin ID.
*
* @var string
*/
protected $pluginId;
/**
* The configuration for the selected page display variant.
*
* @var array
*/
protected $pluginConfiguration = [];
/**
* The current route match.
*
* @var \Drupal\Core\Routing\RouteMatchInterface
*/
protected $routeMatch;
/**
* An array of collected contexts to pass to the page display variant.
*
* @var \Drupal\Component\Plugin\Context\ContextInterface[]
*/
protected $contexts = [];
/**
* Constructs the page display variant plugin selection event.
*
* @param string $plugin_id
* The ID of the page display variant plugin to use by default.
* @param \Drupal\Core\Routing\RouteMatchInterface $route_match
* The current route match, for context.
*/
public function __construct($plugin_id, RouteMatchInterface $route_match) {
$this->pluginId = $plugin_id;
$this->routeMatch = $route_match;
}
/**
* The selected page display variant plugin ID.
*
* @param string $plugin_id
* The ID of the page display variant plugin to use.
*
* @return $this
*/
public function setPluginId($plugin_id) {
$this->pluginId = $plugin_id;
return $this;
}
/**
* The selected page display variant plugin ID.
*
* @return string
*/
public function getPluginId() {
return $this->pluginId;
}
/**
* Set the configuration for the selected page display variant.
*
* @param array $configuration
* The configuration for the selected page display variant.
*
* @return $this
*/
public function setPluginConfiguration(array $configuration) {
$this->pluginConfiguration = $configuration;
return $this;
}
/**
* Get the configuration for the selected page display variant.
*
* @return array
*/
public function getPluginConfiguration() {
return $this->pluginConfiguration;
}
/**
* Gets the current route match.
*
* @return \Drupal\Core\Routing\RouteMatchInterface
* The current route match, for context.
*/
public function getRouteMatch() {
return $this->routeMatch;
}
/**
* Gets the contexts that were set during event dispatch.
*
* @return \Drupal\Component\Plugin\Context\ContextInterface[]
* An array of set contexts, keyed by context name.
*/
public function getContexts() {
return $this->contexts;
}
/**
* Sets the contexts to be passed to the page display variant.
*
* @param \Drupal\Component\Plugin\Context\ContextInterface[] $contexts
* An array of contexts, keyed by context name.
*
* @return $this
*/
public function setContexts(array $contexts) {
$this->contexts = $contexts;
return $this;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|
CacheableDependencyTrait::$cacheContexts | protected | property | Cache contexts. | |
CacheableDependencyTrait::$cacheMaxAge | protected | property | Cache max-age. | |
CacheableDependencyTrait::$cacheTags | protected | property | Cache tags. | |
CacheableDependencyTrait::getCacheContexts | public | function | 4 | |
CacheableDependencyTrait::getCacheMaxAge | public | function | 4 | |
CacheableDependencyTrait::getCacheTags | public | function | 4 | |
CacheableDependencyTrait::setCacheability | protected | function | Sets cacheability; useful for value object constructors. | |
PageDisplayVariantSelectionEvent::$contexts | protected | property | An array of collected contexts to pass to the page display variant. | |
PageDisplayVariantSelectionEvent::$pluginConfiguration | protected | property | The configuration for the selected page display variant. | |
PageDisplayVariantSelectionEvent::$pluginId | protected | property | The selected page display variant plugin ID. | |
PageDisplayVariantSelectionEvent::$routeMatch | protected | property | The current route match. | |
PageDisplayVariantSelectionEvent::getContexts | public | function | Gets the contexts that were set during event dispatch. | |
PageDisplayVariantSelectionEvent::getPluginConfiguration | public | function | Get the configuration for the selected page display variant. | |
PageDisplayVariantSelectionEvent::getPluginId | public | function | The selected page display variant plugin ID. | |
PageDisplayVariantSelectionEvent::getRouteMatch | public | function | Gets the current route match. | |
PageDisplayVariantSelectionEvent::setContexts | public | function | Sets the contexts to be passed to the page display variant. | |
PageDisplayVariantSelectionEvent::setPluginConfiguration | public | function | Set the configuration for the selected page display variant. | |
PageDisplayVariantSelectionEvent::setPluginId | public | function | The selected page display variant plugin ID. | |
PageDisplayVariantSelectionEvent::__construct | public | function | Constructs the page display variant plugin selection event. | |
RefinableCacheableDependencyTrait::addCacheableDependency | public | function | 1 | |
RefinableCacheableDependencyTrait::addCacheContexts | public | function | ||
RefinableCacheableDependencyTrait::addCacheTags | public | function | ||
RefinableCacheableDependencyTrait::mergeCacheMaxAge | public | function |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.