class TestDisplayVariant
Same name in other branches
- 8.9.x core/modules/system/tests/modules/display_variant_test/src/Plugin/DisplayVariant/TestDisplayVariant.php \Drupal\display_variant_test\Plugin\DisplayVariant\TestDisplayVariant
- 10 core/modules/system/tests/modules/display_variant_test/src/Plugin/DisplayVariant/TestDisplayVariant.php \Drupal\display_variant_test\Plugin\DisplayVariant\TestDisplayVariant
- 11.x core/modules/system/tests/modules/display_variant_test/src/Plugin/DisplayVariant/TestDisplayVariant.php \Drupal\display_variant_test\Plugin\DisplayVariant\TestDisplayVariant
Provides a display variant that requires configuration.
Plugin annotation
@DisplayVariant(
id = "display_variant_test",
admin_label = @Translation("Test display variant")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\Core\Display\VariantBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\Core\Display\VariantInterface uses \Drupal\Core\Plugin\PluginDependencyTrait, \Drupal\Core\Cache\RefinableCacheableDependencyTrait
- class \Drupal\display_variant_test\Plugin\DisplayVariant\TestDisplayVariant extends \Drupal\Core\Display\VariantBase implements \Drupal\Core\Display\PageVariantInterface, \Drupal\Core\Display\ContextAwareVariantInterface
- class \Drupal\Core\Display\VariantBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\Core\Display\VariantInterface uses \Drupal\Core\Plugin\PluginDependencyTrait, \Drupal\Core\Cache\RefinableCacheableDependencyTrait
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of TestDisplayVariant
File
-
core/
modules/ system/ tests/ modules/ display_variant_test/ src/ Plugin/ DisplayVariant/ TestDisplayVariant.php, line 18
Namespace
Drupal\display_variant_test\Plugin\DisplayVariantView source
class TestDisplayVariant extends VariantBase implements PageVariantInterface, ContextAwareVariantInterface {
/**
* The render array representing the main page content.
*
* @var array
*/
protected $mainContent = [];
/**
* The page title: a string (plain title) or a render array (formatted title).
*
* @var string|array
*/
protected $title = '';
/**
* An array of collected contexts.
*
* This is only used on runtime, and is not stored.
*
* @var \Drupal\Component\Plugin\Context\ContextInterface[]
*/
protected $contexts = [];
/**
* Gets the contexts.
*
* @return \Drupal\Component\Plugin\Context\ContextInterface[]
* An array of set contexts, keyed by context name.
*/
public function getContexts() {
return $this->contexts;
}
/**
* Sets the contexts.
*
* @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;
}
/**
* {@inheritdoc}
*/
public function setMainContent(array $main_content) {
assert(!empty($this->getConfiguration()['required_configuration']), 'Ensure that ::setMainContent() is called with the variant configuration');
$this->mainContent = $main_content;
return $this;
}
/**
* {@inheritdoc}
*/
public function setTitle($title) {
assert(!empty($this->getConfiguration()['required_configuration']), 'Ensure that ::setTitle() is called with the variant configuration');
$this->title = $title;
return $this;
}
/**
* {@inheritdoc}
*/
public function build() {
$config = $this->getConfiguration();
if (empty($config['required_configuration'])) {
throw new \Exception('Required configuration is missing!');
}
$contexts = $this->getContexts();
if (!isset($contexts['context'])) {
throw new \Exception('Required context is missing!');
}
$build = [];
$build['content']['default'] = [
'#markup' => $config['required_configuration'] . ' ' . $contexts['context']->getContextValue(),
];
CacheableMetadata::createFromObject($this)->applyTo($build);
return $build;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | 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. | ||
DependencyTrait::$dependencies | protected | property | The object's dependencies. | ||
DependencyTrait::addDependencies | protected | function | Adds multiple dependencies. | ||
DependencyTrait::addDependency | protected | function | Adds a dependency. | ||
PluginDependencyTrait::calculatePluginDependencies | protected | function | Calculates and adds dependencies of a specific plugin instance. | 1 | |
PluginDependencyTrait::getPluginDependencies | protected | function | Calculates and returns dependencies of a specific plugin instance. | ||
PluginDependencyTrait::moduleHandler | protected | function | Wraps the module handler. | 1 | |
PluginDependencyTrait::themeHandler | protected | function | Wraps the theme handler. | 1 | |
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin_id of the plugin instance. | 2 | |
RefinableCacheableDependencyTrait::addCacheableDependency | public | function | 1 | ||
RefinableCacheableDependencyTrait::addCacheContexts | public | function | |||
RefinableCacheableDependencyTrait::addCacheTags | public | function | |||
RefinableCacheableDependencyTrait::mergeCacheMaxAge | public | function | |||
TestDisplayVariant::$contexts | protected | property | An array of collected contexts. | ||
TestDisplayVariant::$mainContent | protected | property | The render array representing the main page content. | ||
TestDisplayVariant::$title | protected | property | The page title: a string (plain title) or a render array (formatted title). | ||
TestDisplayVariant::build | public | function | Builds and returns the renderable array for the display variant. | Overrides VariantInterface::build | |
TestDisplayVariant::getContexts | public | function | Gets the contexts. | Overrides ContextAwareVariantInterface::getContexts | |
TestDisplayVariant::setContexts | public | function | Sets the contexts. | Overrides ContextAwareVariantInterface::setContexts | |
TestDisplayVariant::setMainContent | public | function | Sets the main content for the page being rendered. | Overrides PageVariantInterface::setMainContent | |
TestDisplayVariant::setTitle | public | function | Sets the title for the page being rendered. | Overrides PageVariantInterface::setTitle | |
VariantBase::access | public | function | Determines if this display variant is accessible. | Overrides VariantInterface::access | |
VariantBase::adminLabel | public | function | Returns the admin-facing display variant label. | Overrides VariantInterface::adminLabel | |
VariantBase::buildConfigurationForm | public | function | Form constructor. | Overrides PluginFormInterface::buildConfigurationForm | |
VariantBase::calculateDependencies | public | function | Calculates dependencies for the configured plugin. | Overrides DependentPluginInterface::calculateDependencies | |
VariantBase::defaultConfiguration | public | function | Gets default configuration for this plugin. | Overrides ConfigurableInterface::defaultConfiguration | |
VariantBase::getConfiguration | public | function | Gets this plugin's configuration. | Overrides ConfigurableInterface::getConfiguration | |
VariantBase::getWeight | public | function | Returns the weight of the display variant. | Overrides VariantInterface::getWeight | |
VariantBase::id | public | function | Returns the unique ID for the display variant. | Overrides VariantInterface::id | |
VariantBase::label | public | function | Returns the user-facing display variant label. | Overrides VariantInterface::label | |
VariantBase::setConfiguration | public | function | Sets the configuration for this plugin instance. | Overrides ConfigurableInterface::setConfiguration | |
VariantBase::setWeight | public | function | Sets the weight of the display variant. | Overrides VariantInterface::setWeight | |
VariantBase::submitConfigurationForm | public | function | Form submission handler. | Overrides PluginFormInterface::submitConfigurationForm | |
VariantBase::validateConfigurationForm | public | function | Form validation handler. | Overrides PluginFormInterface::validateConfigurationForm | |
VariantBase::__construct | public | function | 1 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.